SlideShare a Scribd company logo
1 of 8
WinAPI
Модуль 3.3
В даному модулі:
 ListBox (список)
 ComboBox (комбінований список)
Andriy Gladkyy
KspDevelop@gmail.com 2
Стилі списку
Andrey Gladky
KspDevelop@gmail.co
m 3
Стиль Опис
LBS_EXTENDEDSEL Дозволяє вибирати декілька елементів за допомогою
клавіші SHIFT і миші або спеціальних комбінацій
клавіш
LBS_MULTICOLUMN Визначає поле зі списком із кількох колонок, який
прокручується по горизонталі
LBS_NOSEL Вказує, що вікно списку містить елементи, які можна
переглядати, але не вибирати
LBS_NOTIFY Викликає батьківське вікно списку, щоб послати код
повідомлення батьківському вікні щоразу, коли
користувач натискає елемент списку
LBS_SORT Сортування рядків у списку в алфавітному порядку
Створення списку
Andrey Gladky
KspDevelop@gmail.co
m 4
 Створення текстового поля за допомогою функції
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);
Створення списку
Andrey Gladky
KspDevelop@gmail.co
m 5
 Щоб програмно зчитати текст вибраного елемента із список
потрібно використати функцію:
 Щоб програмно видалити вибраний елемент із списку потрібно
використати функцію:
SendMessage(hwParent, LB_GETTEXT, (WPARAM)number,
(LPARAM)name);
UINT SendMessage(hwParent, LB_DELETESTRING, (WPARAM)number,
0);
Демонстрація
Andrey Gladky
KspDevelop@gmail.co
m 6
Повідомлення комбінованого списку
Andrey Gladky
KspDevelop@gmail.co
m 7
Стиль Опис
CB_ADDSTRING Додає рядок в комбінований список
CB_DELETESTRING Видаляє рядок із комбінованого списку
CB_GETCOUNT Повертає кількість елементів у списку
CB_GETCURSEL Отримання індексу вибраного елемента
CB_GETLBTEXT Отримує рядок зі списку
CB_GETLBTEXTLE
N
Отримує довжину, в символах, вибраного рядка
CB_SETCURSEL Вибрати рядок у списку
Стилі комбінованого списку
Andrey Gladky
KspDevelop@gmail.co
m 8
Стиль Опис
CB_ADDSTRING Дозволяє вибирати декілька елементів за допомогою
клавіші SHIFT і миші або спеціальних комбінацій
клавіш
CB_DELETESTRING Визначає поле зі списком із кількох колонок, який
прокручується по горизонталі
CB_GETCOUNT Вказує, що вікно списку містить елементи, які можна
переглядати, але не вибирати
CB_GETCURSEL Викликає батьківсеке вікно списку, щоб послати код
повідомлення батьківському вікні щоразу, коли
користувач натискає елемент списку
CB_GETLBTEXT Сортування рядків у списку в алфавітному порядку
CB_GETLBTEXTLEN
CB_SETCURSEL

More Related Content

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. SerializationAndrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsAndrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorAndrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. ThreadsAndrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. ProcessesAndrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsAndrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsAndrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesAndrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOPAndrii Hladkyi
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 

Win api module_3.3

  • 2. В даному модулі:  ListBox (список)  ComboBox (комбінований список) Andriy Gladkyy KspDevelop@gmail.com 2
  • 3. Стилі списку Andrey Gladky KspDevelop@gmail.co m 3 Стиль Опис LBS_EXTENDEDSEL Дозволяє вибирати декілька елементів за допомогою клавіші SHIFT і миші або спеціальних комбінацій клавіш LBS_MULTICOLUMN Визначає поле зі списком із кількох колонок, який прокручується по горизонталі LBS_NOSEL Вказує, що вікно списку містить елементи, які можна переглядати, але не вибирати LBS_NOTIFY Викликає батьківське вікно списку, щоб послати код повідомлення батьківському вікні щоразу, коли користувач натискає елемент списку LBS_SORT Сортування рядків у списку в алфавітному порядку
  • 4. Створення списку Andrey Gladky KspDevelop@gmail.co m 4  Створення текстового поля за допомогою функції 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);
  • 5. Створення списку Andrey Gladky KspDevelop@gmail.co m 5  Щоб програмно зчитати текст вибраного елемента із список потрібно використати функцію:  Щоб програмно видалити вибраний елемент із списку потрібно використати функцію: SendMessage(hwParent, LB_GETTEXT, (WPARAM)number, (LPARAM)name); UINT SendMessage(hwParent, LB_DELETESTRING, (WPARAM)number, 0);
  • 7. Повідомлення комбінованого списку Andrey Gladky KspDevelop@gmail.co m 7 Стиль Опис CB_ADDSTRING Додає рядок в комбінований список CB_DELETESTRING Видаляє рядок із комбінованого списку CB_GETCOUNT Повертає кількість елементів у списку CB_GETCURSEL Отримання індексу вибраного елемента CB_GETLBTEXT Отримує рядок зі списку CB_GETLBTEXTLE N Отримує довжину, в символах, вибраного рядка CB_SETCURSEL Вибрати рядок у списку
  • 8. Стилі комбінованого списку Andrey Gladky KspDevelop@gmail.co m 8 Стиль Опис CB_ADDSTRING Дозволяє вибирати декілька елементів за допомогою клавіші SHIFT і миші або спеціальних комбінацій клавіш CB_DELETESTRING Визначає поле зі списком із кількох колонок, який прокручується по горизонталі CB_GETCOUNT Вказує, що вікно списку містить елементи, які можна переглядати, але не вибирати CB_GETCURSEL Викликає батьківсеке вікно списку, щоб послати код повідомлення батьківському вікні щоразу, коли користувач натискає елемент списку CB_GETLBTEXT Сортування рядків у списку в алфавітному порядку CB_GETLBTEXTLEN CB_SETCURSEL