Compartilhar via


CEdit::SetHandle

Chame essa função para conjunto o identificador para o local de memória que será usada por um controle de edição de várias linhas.

void SetHandle(
   HLOCAL hBuffer 
);

Parâmetros

  • hBuffer
    Contém um identificador para a memória local.Esse identificador deve ter sido criado por uma telefonar anterior a LocalAlloc Função do Windows usando o LMEM_MOVEABLE sinalizar.Presume-se que a memória contém uma seqüência de caracteres terminada com caractere nulo.Se não for esse o caso, o primeiro byte de memória alocada deve ser definido como 0.

Comentários

O controle de edição, em seguida, usará esse buffer para armazenar o texto exibido no momento em vez de alocar buffer de seu próprio.

Esta função de membro é processada somente por controles de edição de várias linhas.

Antes de um aplicativo define uma nova alça de memória, ele deve usar o GetHandle função de membro para obter o identificador para o buffer de memória corrente e liberar memória usando o LocalFree Função do Windows.

SetHandle Limpa o buffer de desfazer (o CanUndo função de membro retorna 0) e o sinalizar de modificação interno (o GetModifyfunção de membro , em seguida, retorna 0).A janela controle de edição é redesenhada.

Você pode usar esta função de membro em um controle de edição de várias linhas em uma caixa de diálogo somente se você tiver criado a caixa de diálogo com o DS_LOCALEDIT conjunto de sinalizadores de estilo.

Observação:

GetHandle não funciona com o Windows 95/98.Se você chamar GetHandle no Windows 95/98, ela retornará NULO.GetHandle funcionará conforme documentado no Windows NT, sistema autônomo versões 3.51 e posteriores.

Para obter mais informações, consulte EM_SETHANDLE, LocalAlloc, and LocalFree in the Windows SDK.

Exemplo

// 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);

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CEdit

Gráfico de hierarquia

CEdit::CanUndo

CEdit::GetHandle

CEdit::GetModify

Outros recursos

CEdit membros