CEdit::SetHandle

여러 줄 편집 컨트롤에서 사용 되는 로컬 메모리 핸들을 설정 하려면이 함수를 호출 합니다.

void SetHandle(
   HLOCAL hBuffer 
);

매개 변수

  • hBuffer
    로컬 메모리에 대 한 핸들을 포함 합니다.이 핸들에 대 한 이전 호출에서 만들어져 있어야 합니다의 LocalAlloc Windows 함수를 사용 하는 LMEM_MOVEABLE 플래그.Null로 끝나는 문자열을 포함 하는 메모리 가정 합니다.그렇지 않은 경우 할당 된 메모리의 첫 번째 바이트는 0으로 설정 해야 합니다.

설명

다음 편집 컨트롤 자체의 버퍼를 할당 하는 대신 현재 표시 된 텍스트를 저장할이 버퍼가 사용 합니다.

이 멤버 함수는 여러 줄 편집 컨트롤에 의해 처리 됩니다.

응용 프로그램이 새 메모리 핸들을 설정 하기 전에 사용 해야는 GetHandle 현재 메모리 버퍼에 핸들을 가져오고 사용 하 여 해당 메모리를 확보 하려면 멤버 함수는 LocalFree Windows 함수.

SetHandle실행 취소 버퍼를 지웁니다 (의 CanUndo 멤버 함수 다음 0을 반환) 및 내부 수정 플래그 (의 GetModify 멤버 함수 다음 0을 반환).편집 컨트롤 창이 다시 그려집니다.

만 대화 상자를 만든 경우 대화 상자에 여러 줄 편집 컨트롤에서이 멤버 함수를 사용할 수 있습니다는 DS_LOCALEDIT 스타일 플래그를 설정 합니다.

[!참고]

GetHandle Windows 95/98과 작동 하지 않습니다.호출 하는 경우 GetHandle Windows 95/98에서 반환 됩니다 NULL.GetHandle Windows NT, 버전 3.51 이상 설명 하는 대로 작동 합니다.

자세한 내용은 EM_SETHANDLE, LocalAlloc, 및 LocalFree 에 있는 Windows SDK.

예제

// The string to set in the edit control.
CString strString(_T("George Frideric"));

// Initialize the new local handle.
size_t cbSize = (strString.GetLength() + 1) * sizeof(TCHAR);
HLOCAL h = ::LocalAlloc(LHND, cbSize);
LPTSTR lpszText = (LPTSTR) ::LocalLock(h);
_tcsncpy_s(lpszText, cbSize / sizeof(TCHAR), strString, _TRUNCATE);
::LocalUnlock(h);

// Free the current text handle of the edit control.
::LocalFree(m_myEdit.GetHandle());

// Set the new text handle.
m_myEdit.SetHandle(h);

요구 사항

헤더: afxwin.h

참고 항목

참조

CEdit 클래스

계층 구조 차트

CEdit::CanUndo

CEdit::GetHandle

CEdit::GetModify