Получение текста из редактора текста

Для получения текста из простейшего текстового редактора необходимо послать для него сообщение с кодом EM_GETLINE:

char chText[70];// массив символов для хранения строки

WORD cbCount=0;// число символов в строке

cbCount = SendMessage(hEdit, EM_GETLINE, 0, (LPARAM)(LPSTR)chText);

Текст длиной cbCount будет содержаться в стороке chText.

Списки

Эти органы управленияпоказывают на экране список, из которого пользователь может выбирать один или несколько пунктов.

Создаются на основе класса “listbox” или класса “combobox”, который объединяет “edit” и “listbox”.

Рис.11 Два списка

Особенности:

1.Эти списки создаются пустыми и их надо заполнять.

2. combobox создается открытым.

3. Для listbox существует стиль LBS_STANDART – это список сортированный по алфавиту LBS_SORT, с рамкой WS_BORDER, с вертикальной полосой прокрутки WS_VSCROLL и ПОСЫЛАЮЩИЙ родительскому окну сообщения LBS_NOTIFY. По умолчанию сообщения не посылаются.

4. Вариации несколько колонок LBS_MULTICOLUMN, можно выбрать несколько элементов LBS_MULTIPLESEL (не подряд) или LBS_EXTENDEDSEL(подряд).

Коды извещения передаются в WM_COMMAND и показывают, какое действие было совершено над списком.

wParam – идентификатор органа управления

мл. lParam – идентификатор окна

ст. lParam - коды извещения:

LBN_DBLCLK – двойной щелчок

LBN_SETFOCUS – получен фокус

LBN_KILLFOCUS – потерян фокус

LBN_SELCANCEL – отмена выбора

LBN_SELCHANGE – выбор другой строки

Работа со списками осуществляется через сообщения, с использованием функции SendMessage.

Таблица 18

Управление списком
Действие  
Добавить строку SendMessage(hList,LB_ADDSTRING,0,(LPARAM)szString);
Удалить строку SendMessage(hList,LB_DELETESTRING, Num, 0L);
Определить число элементов nCol= SendMessage(hList, LB_GETCOUNT, 0, 0L);
Определить номер выбранной строки nNum= SendMessage(hList, LB_GETCURSEL, 0, 0L);
Копирование строки в буфер nCol=SendMessage(hList, LB_GETTEXT, (WPARAM) Num, (LPARAM) szBuf);
Запрет перерисовки SendMessage(hList, LB_SETREDRAW, FALSE, 0L);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: