Win api module_3.3

8
WinAPI Модуль 3.3

Transcript of Win api module_3.3

Page 1: Win api module_3.3

WinAPIМодуль 3.3

Page 2: Win api module_3.3

2

В даному модулі: ListBox (список) ComboBox (комбінований список)

Andriy Gladkyy [email protected]

Page 3: Win api module_3.3

3

Стилі списку

Andrey Gladky [email protected]

Стиль ОписLBS_EXTENDEDSEL Дозволяє вибирати декілька елементів за допомогою

клавіші SHIFT  і миші або спеціальних комбінацій клавіш

LBS_MULTICOLUMN Визначає поле зі списком із кількох колонок, який прокручується по горизонталі

LBS_NOSEL Вказує, що вікно списку містить елементи, які можна переглядати, але не вибирати

LBS_NOTIFY Викликає батьківське вікно списку, щоб послати код повідомлення батьківському вікні щоразу, коли користувач натискає елемент списку

LBS_SORT Сортування рядків у списку в алфавітному порядку

Page 4: Win api module_3.3

4

Створення списку

Andrey Gladky [email protected]

Створення текстового поля за допомогою функції CreateWindow():

Щоб програмно добавити елемент в список потрібно використати функцію:

Щоб програмно визначити номер вибраного елемента в списку потрібно використати функцію:

HWND = CreateWindow(L"listbox", NULL, WS_CHILD|WS_VISIBLE| WS_CLIPSIBLINGS|WS_VSCROLL|LBS_NOTIFY,0,410,150,40, hWnd,(HMENU)ID_LIST,hInst,NULL);

SendMessage(hwParent, LB_ADDSTRING, 0, (LPARAM)textBuffer);

UINT SendMessage(hwParent, LB_GETCURSEL, 0, 0);

Page 5: Win api module_3.3

5

Створення списку

Andrey Gladky [email protected]

Щоб програмно зчитати текст вибраного елемента із список потрібно використати функцію:

Щоб програмно видалити вибраний елемент із списку потрібно використати функцію:

SendMessage(hwParent, LB_GETTEXT, (WPARAM)number, (LPARAM)name);

UINT SendMessage(hwParent, LB_DELETESTRING, (WPARAM)number, 0);

Page 6: Win api module_3.3

6

Демонстрація

Andrey Gladky [email protected]

Page 7: Win api module_3.3

7

Повідомлення комбінованого списку

Andrey Gladky [email protected]

Стиль ОписCB_ADDSTRING Додає рядок в комбінований список

CB_DELETESTRING Видаляє рядок із комбінованого списку

CB_GETCOUNT Повертає кількість елементів у спискуCB_GETCURSEL Отримання індексу вибраного елемента

CB_GETLBTEXT Отримує рядок зі списку 

CB_GETLBTEXTLEN

Отримує довжину, в символах, вибраного рядка

CB_SETCURSEL Вибрати рядок у списку

Page 8: Win api module_3.3

8

Стилі комбінованого списку

Andrey Gladky [email protected]

Стиль ОписCB_ADDSTRING Дозволяє вибирати декілька елементів за допомогою

клавіші SHIFT  і миші або спеціальних комбінацій клавіш

CB_DELETESTRING Визначає поле зі списком із кількох колонок, який прокручується по горизонталі

CB_GETCOUNT Вказує, що вікно списку містить елементи, які можна переглядати, але не вибирати

CB_GETCURSEL Викликає батьківсеке вікно списку, щоб послати код повідомлення батьківському вікні щоразу, коли користувач натискає елемент списку

CB_GETLBTEXT Сортування рядків у списку в алфавітному порядку

CB_GETLBTEXTLENCB_SETCURSEL