Шаг 501 - CEdit::SetHandle

void SetHandle( HLOCAL hBuffer );

Параметры
hBuffer
Содержит дескриптор к локальной памяти. Этот дескриптор должен быть создан предыдущим обращением к функции LocalAlloc Windows использующей флажок LMEM_MOVEABLE. Память принята, чтобы содержать строку с нулевым символом в конце. Если дело обстоит не так, первый байт в распределенной памяти должен быть установлен к 0.

Замечания
Вызовите эту функцию, чтобы установить дескриптор локальной памяти которая будет использоваться многострочными средствами редактирования. Средства редактирования затем используют этот буфер чтобы сохранить в настоящее время отображаемый текст вместо того чтобы распределять собственный буфер.
Эта функция обработана только многострочными средствами редактирования.
Прежде, чем прикладная программа устанавливает новый дескриптор памяти, она должна использовать GetHandle функцию чтобы получить дескриптор для текущего буфера памяти и освобождать ту память используя функцию LocalFree Windows.
SetHandle очищает буфер отмены (CanUndo функция затем возвращает 0) и внутренний флажок модификации (GetModify функция затем возвращает 0). Окно элемента редактирования повторно выведено.
Вы можете использовать эту функцию в многострочных средствах редактирования в диалоговом окне только, если Вы создали диалоговое окно с DS_LOCALEDIT набором флажков стилей.
GetHandle не будет работать с Windows 95. Если Вы вызываете GetHandle в Windows 95, она возвратит NULL. GetHandle будет работать как описано под Windows NT, версиями 3.51 и позже.

Пример

// Указатель на объект редактирования.
extern CEdit* pmyEdit;
// Эта строка устанавливается в элемент редактирования.
extern LPCTSTR lpszmyString;
// Инициализация нового указателя.
HLOCAL h = ::LocalAlloc(LHND, strlen(lpszmyString)+sizeof(TCHAR));
LPTSTR lpszText = (LPTSTR) ::LocalLock(h);
strcpy(lpszText, lpszmyString);
::LocalUnlock(h);
// Освобождение текущего указателя.
::LocalFree(pmyEdit->GetHandle());
// Установка нового указателя.
pmyEdit->SetHandle(h);

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 15.01.2002