CEdit::SetHandle
Birden çok satırlı düzen denetimi tarafından kullanılan yerel belleğe tanıtıcısını ayarlamak için bu işlevini çağırın.
void SetHandle(
HLOCAL hBuffer
);
Parametreler
- hBuffer
Yerel bellek için bir tanıtıcı içerir.Bu işleyici için önceki bir çağrı tarafından oluşturulmuş olması gerekir LocalAlloc Windows işlevi kullanılarak lmem_moveable bayrağı.Bellek boş sonlandırılmış bir dizenin yer aldığı varsayılır.Değilse, ayrılan belleğin ilk baytı 0 olarak ayarlanması gerekir.
Notlar
Düzenleme denetimi daha sonra bu arabellek kendi arabellek ayırma yerine geçerli olarak görüntülenen metni saklamak için kullanırsınız.
Bu üye işlevi, yalnızca birden çok satırlı düzenleme denetimleri tarafından işlenir.
Bir uygulama yeni bir bellek tanıtıcısı ayarlar önce kullanmanız gerektiğini GetHandle tanıtıcı geçerli ara belleğe alma ve kullanma bellek boşaltmak için üye işlev LocalFree Windows işlevi.
SetHandlegeri alma arabelleğini temizler ( CanUndo üye işlev daha sonra 0 döndürür) ve iç değişikliği bayrağı ( GetModify üye işlev daha sonra 0 döndürür).Düzenleme denetimi penceresi yeniden görüntülenir.
İletişim kutusu ile oluşturduysanız bu üye işlevi birden çok satırlı düzen denetimi iletişim kutusunda kullanabileceğiniz DS_LOCALEDIT stil bayrağı ayarlanmış.
[!NOT]
GetHandle Windows 95/98 ile çalışmaz.Çağırırsanız, GetHandle Windows 95/98 ' döner null.GetHandle sürüm 3.51 ve daha sonra Windows NT altında belirtildiği gibi çalışır.
Daha fazla bilgi için bkz: em_sethandle, LocalAlloc, ve LocalFree , Windows SDK.
Örnek
// 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);
Gereksinimler
Başlık: afxwin.h