Condividi tramite


CEdit::SetHandle

Chiamare la funzione per impostare l'handle alla memoria locale che verrà utilizzata da un controllo di modifica a più righe.

void SetHandle(
   HLOCAL hBuffer 
);

Parametri

  • hBuffer
    Contiene l'handle alla memoria locale.Questo handle devono essere create da una chiamata precedente alla funzione di Windows LocalAlloc utilizzando il flag LMEM_MOVEABLE.La memoria viene considerata per contenere una stringa con terminazione null.In caso contrario, il primo byte di memoria allocata deve essere impostato su 0.

Note

Il controllo di modifica quindi utilizzerà questo buffer per archiviare il testo attualmente visualizzate anziché allocare il relativo buffer.

Questa funzione membro viene elaborata solo dai controlli di modifica a più righe.

Affinché un'applicazione impostare le nuove handle della memoria, deve utilizzare la funzione membro GetHandle per ottenere un handle al buffer di memoria corrente e per liberare la memoria allocata tramite la funzione di Windows LocalFree.

SetHandle rimuove il buffer di annullamento (la funzione membro CanUndo quindi restituisce 0) e il flag interno di modifica (la funzione membro GetModify quindi restituisce 0).La finestra di controllo di modifica viene ridisegnato.

È possibile utilizzare questa funzione membro in un controllo di modifica a più righe in una finestra di dialogo solo se è stata creata la finestra di dialogo con il flag di stile DS_LOCALEDIT.

[!NOTA]

GetHandle non funzionerà con Windows 95/98.Se si chiama GetHandle in Windows 95/98, restituirà NULL.GetHandle funzionerà come documentato in Windows NT, versione 3,51 e successive.

Per ulteriori informazioni, vedere EM_SETHANDLE, LocalAlloce LocalFree in Windows SDK.

Esempio

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

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di CEdit

Grafico della gerarchia

CEdit::CanUndo

CEdit::GetHandle

CEdit::GetModify