CEdit::SetHandle
Volání této funkce můžete nastavit popisovač místní paměti, který bude použit ve více řádcích ovládací prvek pro úpravy.
void SetHandle(
HLOCAL hBuffer
);
Parametry
- hBuffer
Obsahuje úchyt do místní paměti.Tento popisovač je vytvořen předchozí volání LocalAlloc pomocí funkce systému Windows LMEM_MOVEABLE příznak.Předpokládá se, že paměť obsahuje řetězec zakončený hodnotou null.Pokud tomu tak není, první bajt přidělené paměti by měla hodnotu 0.
Poznámky
Ovládací prvek pro úpravy pak použije této vyrovnávací paměti ukládat přidělení vyrovnávací paměti se aktuálně zobrazený text.
Tato funkce člena je zpracována pouze ovládací prvky pro úpravy více řádků.
Před aplikace nastaví nový popisovač paměti, by měly používat GetHandle členské funkce získat popisovač aktuální vyrovnávací paměti a volné paměti, že použití LocalFree funkce systému Windows.
SetHandleVymaže vyrovnávací paměť zpět ( CanUndo členské funkce vrátí 0) a vnitřní změnu vlajky ( GetModify členské funkce vrátí 0).V okně Upravit řízení se překreslí.
Můžete použít tuto funkci člena upravit více řádků ovládacího prvku v dialogovém okně pouze, pokud jste vytvořili dialogové okno s DS_LOCALEDIT styl nastaven příznak.
[!POZNÁMKA]
GetHandle nepracuje v systému Windows 95/98.Při volání GetHandle v systému Windows 95 a Windows 98, vrátí NULL.GetHandle bude fungovat, jak je uvedeno v systému Windows NT verze 3.51 a vyšší.
Další informace naleznete v EM_SETHANDLE, LocalAlloc, a LocalFree v .
Příklad
// 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);
Požadavky
Záhlaví: afxwin.h