Compartilhar via


CEdit::SetHandle

Chamar essa função para definir a alça a memória local 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. Este identificador deve ter sido criado por uma chamada anterior à função do windows de LocalAlloc usando o sinalizador de LMEM_MOVEABLE . a memória é assumida para conter uma cadeia de caracteres NULL-finalizada. Se esse não é o caso, o primeiro byte de memória alocada deve ser definido como 0.

Comentários

O controle de edição usará esse buffer para armazenar texto atualmente exibido em vez de atribuir seu próprio buffer.

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

Antes que um aplicativo define um novo identificador de memória, deve usar a função de membro de GetHandle para obter o identificador atual para o buffer de memória e liberar a memória usando a função do windows de LocalFree .

SetHandle limpa o buffer (desfazer a função de membro de CanUndo então retorna 0) e o sinalizador de alteração internos (função de membro de GetModify então retorna 0). A janela de editions controle é redesenhada.

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

Dica

GetHandle não funcionará com Windows 95 /98.Se você chamar GetHandle no Windows 95, retornará NULO/98.GetHandle funcionará como documentado em, Windows NT 3,51 e versões posteriores.

Para obter mais informações, consulte EM_SETHANDLE, LocalAlloc, e LocalFree em 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 da hierarquia

CEdit::CanUndo

CEdit::GetHandle

CEdit::GetModify