Share via


CEdit::SetHandle

Llame a esta función para establecer el identificador a la memoria local que se utiliza en un control de edición de varias líneas.

void SetHandle(
   HLOCAL hBuffer 
);

Parámetros

  • hBuffer
    Contiene un identificador a la memoria local.Este identificador se debe haber creado por una llamada anterior a la función de LocalAlloc Windows mediante el marcador de LMEM_MOVEABLE .La memoria se supone para contener una cadena terminada en null.En caso contrario, el primer byte de la memoria asignada debe establecerse en 0.

Comentarios

El control de edición a continuación utilizará este búfer para almacenar el texto mostrado actualmente en lugar de asignar su propio búfer.

Esta función miembro procesa solo los controles de edición de varias líneas.

Antes de que una aplicación establezca un nuevo identificador de memoria, debe utilizar la función miembro de GetHandle para obtener el identificador del búfer actual de la memoria y libere la memoria mediante la función de LocalFree Windows.

SetHandle borra el búfer de deshacer (la función miembro de CanUndo devuelve 0) y el marcador interno de modificación (la función miembro de GetModify devuelve 0).la ventana de control de edición está rediseñada.

Puede utilizar esta función miembro en un control de edición de varias líneas en un cuadro de diálogo sólo si se ha creado el cuadro de diálogo con la marca de estilo de DS_LOCALEDIT .

[!NOTA]

GetHandle no funcionará con Windows 95 /98.Si llama a GetHandle en Windows 95 /98, devolverá NULL.GetHandle funcionará como lo documentado en Windows NT, versiones 3,51 y posteriores.

Para obtener más información, vea EM_SETHANDLE, LocalAlloc, y LocalFree en Windows SDK.

Ejemplo

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

encabezado: afxwin.h

Vea también

Referencia

Clase de CEdit

Gráfico de jerarquía

CEdit::CanUndo

CEdit::GetHandle

CEdit::GetModify