Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 108


И последней группой сообщений, на которых мы остановимся, являются

Нотификациопные сообщения

Если у списка установлен стиль EBS_NOTIFY, то список будет опо­вещать родительское окно о том, какие события с ним произошли по­средством нотификационных сообщений. Нотификационные сообщения в случае списка - это сообщения WM_COMMAND, у которых младшее слово wParam содержит идентификатор окна списка, старшее слово wParam - код нотификации, a IParam - хэндл окна списка.

Кодов нотификации всего шесть (табл. 30).

Таблица 30. Коды нотификационных сообщений, посылаемых окнами списков

Код нотификации

 

Описание

 

LBN ERRSPACE LBN SELCHANGE LBN DBLCLK LBN SELCANCEL LBN SETFOCUS LBN KILLFOCUS

 

Не хватает памяти Выделенным стал другой элемент Пользователь сделал двойной щелчок клавишей мыши Пользователь снял выделение Список получил клавиатурный фокус Список потерял клавиатурный фокус

 

Для того чтобы проиллюстрировать все то, о чем говорилось выше, приведем небольшую программу. Эта программа демонстрирует добав­ление строк в список и выборку информации с строках. К сожалению, мы еще не изучили окно редактирования, поэтому я не мог написать программу, осуществляющую ввод информации с экрана, но, надеюсь, мы сделаем это в последующих разделах.

125

Для нормальной компиляции программы требуется файл ресурсов:

#include "list.h"

ListBox DIALOG 50, 50, 150, 140

STYLE DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP |

WS_POPUP | WS_VTSIBLE  WS_CAPTION  WS_SYSMENU CAPTION "ListBox Example" FONT 8, "MS Sans Serif

{

PUSHBUTTON "Display", ID_OK, 15, 100, 50, 14

PUSHBUTTON "Cancel", ID_Cancel, 85, 100, 50, 14

CONTROL "Families", ID_MyListBox, "listbox", LBS_STANDARD |

WS_CHILD | WS_VISIBLE | WS_TABSTOP, 15, 16, 120, 65 CONTROL "Families", -1, "static", SSJLEFT | WS_CHILD | WS_VISIBLE, 16, 6,

120, 10 CONTROL "StatusBar", ID_StatusBar, "msctls_statusbar32", 3 | WS_CHILD




Начало  Назад  Вперед



Книжный магазин