Реферат Курсовая Конспект
Таблиця 7.5 - раздел Образование, Навчальної дисципліни Основи програмування та алгоритмічні мови Стилі Вікон Класу "кнопки" ...
|
Стилі вікон класу "кнопки"
Стиль | Опис |
BS_3STATE | Створити прапорець, що має три стани - включеними, відключеними й недоступним (виділений сірими кольорами). Автоматично стан не міняє |
BS_AUT03STATE | Те ж, що й попереднє, за винятком того, що прапорець міняє свій стан, коли його вибирає користувач |
BS_AUTOCHECKBOX | Створюється CheckBox, що автоматично міняє свій стан при виборі користувачем |
BS_AUTORADIOBUTTON | Те ж, що й BS_RADIOBUTTON, за винятком того, що перемикач стає обраним, коли на ньому клацає користувач, а всі інші перемикачі в групі стають невибраними |
BS_BITMAP | Створити кнопку з растровим зображенням |
BS_BOTTOM | Розміщає текст у нижнього краю прямокутника, виділеного для розміщення кнопки |
BS_CENTER | Розміщає текст по горизонталі в центрі прямокутника, виділеного для розміщення кнопки |
BS_CHECKBOX | Створюється прапорець із написом (CheckBox), показаної праворуч, якщо не використається стиль BS_LEFTTEXT |
BS_DEFPUSHBUTTON | Створюється звичайна кнопка, що спрацьовує при натисканні "Enter" навіть тоді, коли не обрана. Ця кнопка має широку чорну рамку. |
BS_FLAT | Створити плоску кнопку, що не має тривимірного затінення. |
BS_GROUPBOX | Створити поле із заголовком, показаним у лівому верхньому куті. |
BS_ICON | Створити кнопку, на якій відображена піктограма. |
BS_LEFT | Розміщає текст у лівого краю прямокутника, виділеного для розміщення кнопки |
BS_LEFTTEXT | Текст міститься ліворуч від RadioButton'a або CheckBox'a, те ж, що й BS_RIGHTBUTTON |
BS_MONO | Кнопка може мати тільки один рядок тексту напису. |
BS_MULTILINE | При необхідності текст розбивається на кілька рядків |
BS_NOTIFY | Дозволяє посилку батьківському вікну нотификационных повідомлень BN_DBLCLK, BN_KILLFOCUS й BN_SETFOCUS |
BS_OWNERDRAW | За промальовування кнопки відповідає програма, а не система. Батьківське вікно приймає повідомлення WM_MEASUREITEM при створенні кнопки й повідомлення WM_DRAWITEM у будь-який час, коли потрібно вивести на екран кнопку. Цей стиль не слід поєднувати з будь-якими іншими стилями кнопки. |
BS_PUSHBUTTON | Створюється звичайна кнопка, що виводить повідомлення WM_COMMAND у батьківське вікно, коли відбувається її вибір. |
BS_PUSHLIKE | Робить CheckBox або RadioButton зовні схожими на PushButton |
BS_RADIOBUTTON | Створюється Radio Button, автоматично стан не міняється |
BS_RIGHT | Розміщає текст у правого краю прямокутника, виділеного для розміщення тексту |
BS_RIGHTBUTTON | RadioButton або CheckBox розміщаються праворуч від напису |
BS_TEXT | Усередині або поруч із кнопкою відображається текст |
BS_TOP | Розміщає текст у верхнього краю прямокутника, виділеного для розміщення кнопки |
BS_USERBUTTON | Застарілий стиль, необхідно використати BS_OWNERDRAW |
BS_VCENTER | Розміщає текст по вертикалі в центрі прямокутника, виділеного для розміщення кнопки |
Таблиця 7.6
Стилі вікон класу "списки"
Стиль | Опис |
LBS_DISABLENOSCROLL | Показувати на списку вертикальну лінійку прокручування, навіть якщо список не містить достатнє число елементів для прокручування. Лінійка прокручування недоступна доти, поки не з'явиться достатнє число елементів. За замовчуванням, якщо список не містить достатнього числа елементів, лінійка прокручування схована. |
LBS_EXTENDEDSEL | Дозволяє списку із множинним вибором використати для виділення клавішу Shift разом з мишею або інші клавіатурні комбінації |
LBS_HASSTRING | Застосовується зі списком, виведеним власником, для вказівки того, що в список повинні бути уведені рядки. Потім для одержання конкретного елемента в додатку можна використати повідомлення LB_GETTEXT. |
LBS_MULTICOLUMN | Створити багатостолбцевий список, що може прокручуватися по горизонталі. Для визначення ширини стовпців використається повідомлення LB_SETCOLUMNWIDTH. |
LBS_MULTIPLESEL | Дозволити вибирати кілька елементів, клацаючи на кожному елементі дли вибору або скасування вибору |
LBS_NODATA | Застосовується зі списком, виведеним користувачем, для вказівки того, що в списку немає даних. Цей стиль використається, коли загальне число елементів у списку перевищує 1000. Повинен також застосовуватися стиль LBS_OWNERDRAWFIXED, а стилі LBS_SORT або LBS_HASSTRINGS не можуть використатися. |
LBS_NOINTEGRALHEIGHT | Список створюється точно такого ж розміру, що зазначений у програмі, вирівнювання не виробляється |
LBS_NOREDRAW | Список не одержує повідомлень WM_PAINT при внесенні змін. Для зміни цього стилю може використатися повідомлення WM_SETREDRAW. |
LBS_NOSEL | Елементи списку видні, але виділення заборонене |
LBS_NOTIFY | Посилає повідомлення батьківському вікну про щиглика або подвійного щиглика клавішею миші |
LBS_OWNERDRAWFIXED | Батьківське вікно відповідально за промальовування елементів, всі елементи списку однакової висоти. |
LBS_OWNERDRAWVARIABLE | To же, що й попереднє, але елементи списку можуть бути різної висоти |
LBS_SORT | Автоматично сортувати рядка, що додають до списку за допомогою повідомлення LB_ADDSTRING. |
LBS_STANDARD | LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER |
LBS_USETABSTOPS | Список при висновку вхідних у нього рядків повинен розгортати символи табуляції. Передбачені за замовчуванням позиції табуляції розташовані із кроком в 32 одиниці виміру довжини діалогового вікна. Для установки інших позицій табуляції застосовується повідомлення LB_SETTABSTOPS |
LBS_WANTKEYBOARDINPUT | Власник списку одержує повідомлення WM_VKEYTOITEM щораз, коли користувач натискає яку-небудь клавішу й список одержує фокус уведення. |
Таблиця 7.7
Стилі поля класу "комбінованих списків"
Стиль | Опис |
CBS_AUTOHSCROLL | Дозволити горизонтальне прокручування в елементі керування редагуванням поля зі списком. |
CBS_DISABLENOSCROLL | Вертикальна лінійка прокручування повинна бути видимої, навіть якщо видні всі елементи в списку. Якщо лінійка прокручування не потрібна для відображення всіх елементів у списку, висновок її на екран відмінний. Звичайно лінійка прокручування відображається тільки якщо буде потреба. |
CBS_DROPDOWN | Створити поле зі списком, що випадає. Список стає видимим тільки будучи обраним |
CBS_DROPDOWNLIST | Створити поле зі списком, що випадає. Редагування не дозволене; відображається тільки обраний елемент. |
CBS_HASSTRINGS | Використається з полем зі списком, виведеним власником, для вказівки того, що до поля зі списком будуть додані рядки. Потім для вибірки конкретного елемента в додатку можна використати повідомлення CB_GETLBTEXT. |
CBS_LOWERCASE | Показати, що в елементі керування редагуванням дозволене уведення тільки символів нижнього регістра, що вводять символи верхнього регістра перетворяться в символи нижнього регістра. |
CBS_NOINTEGRALHEIGHT | Задається розмір поля зі списком. За замовчуванням система Windows визначає розмір поля зі списком так, щоб не можна було відобразити тільки частину елемента. |
CBS_OEMCONVERT | Уведений текст буде перетворений з набору символів Windows у набір символів OEM, а потім знову - у набір Windows. Це забезпечує правильне перетворення при використанні функції AnsiToOem. |
CBS_OWNERDRAWFIXED | Створити поле зі списком, виведене власником. Батьківське вікно одержує повідомлення WM_MEASUREITEM при створенні поля зі списком і повідомлення WM_DRAWITEM, коли потрібно вивести елемент |
CBS_OWNERDRAWVARIABLE | Tе ж, що й CBS_OWNERDRAWFIXED, за винятком того, що розмір кожного елемента в списку можна визначати окремо. Для елемента в поле зі списком викликається повідомлення WM_MEASUREITEM перед викликом повідомлення WM_DRAWITEM для цього елемента. |
CBS _SIMPLE | Створити просте поле зі списком, де список елементів завжди показаний і поточний вибір перебуває в елементі керування редагуванням |
CBS_SORT | Сортувати рядка, внесені в список з використанням повідомлення CB_ADDSTRING. |
CBS_UPPERCASE | Показати, що потрібно вводити в елементі керування редагуванням тільки символи верхнього регістра, преобразуя символи нижнього регістра в символи верхнього регістра в міру їхнього уведення. |
Таблиця 7.8
Стилі поля класу "вікна редагування"
Стиль | Опис |
ES_AUTOHSCROLL | При необхідності текст у вікні редагування скроллируеться по горизонталі |
ES_AUTOVSCROLL | При необхідності текст у багатострочном вікні редагування скроллируется по вертикалі |
ES_CENTER | Текст у вікні редагування вирівнюється по правому краї |
ES_LEFT | Текст у вікні редагування вирівнюється по лівому краї |
ES_LOWERCASE | Текст, що вводить, перетвориться в малі літери |
ES_MULTILINE | Створюється багатострочне вікно редагування |
ES_NOHIDESEL | При втраті вікном редагування фокуса уведення виділення з тексту не знімається |
ES_NUMBER | Дозволяється здійснювати уведення тільки цифр |
ES_OEMCONVERT | Символи, що вводять, з одного набору перетворяться в символи з іншого набору |
ES_PASSWORD | Всі вводити символи, що, відображаються у вигляді зірочок |
ES_READONLY | Текст у вікні редагування можна тільки переглядати, але не редагувати |
ES_RIGHT | Текст у вікні редагування вирівнюється по центрі |
ES_UPPERCASE | Текст, що вводить, перетвориться в прописні букви |
ES_WANTRETURN | При натисканні клавіші Enter у багатстрочному вікні система вставляє в текст символ повернення каретки |
Таблиця 7.9
Стилі поля класу "смуг прокручування"
Стиль | Опис |
SBS_BOTTOMALIGN | Установити нижній край лінійки прокручування урівень із нижнім краєм прямокутника, певного параметрами функції CreateWindow. |
SBS_HORZ | Створити горизонтальну лінійку прокручування. |
SBS_LEFTALIGN | Установити лівий край лінійки прокручування урівень із лівим краєм прямокутника, певного параметрами функції CreateWindow. |
SBS_RIGHTALIGN | Установити правий край лінійки прокручування урівень із правим краєм прямокутника, певного параметрами функції Create Window. |
SBS_SIZEBOX | Створити блок керування розміром. Якщо стилі SBS_SIZEBOXBOTTOMRIGHTALIGN або SBS_SIZEBOXTOPLEFTALIGN не зазначені, то висота, ширина й позиція блоку керування розміром мають значення, які визначені параметрами функції CreateWindow. |
SBS_SIZEBOXBOTTOMRIGHTALIGN | Сполучити нижній правий кут блоку керування розміром з нижнім правим кутом прямокутника, певного параметрами функції CreateWindow. |
SBS_SIZEBOXTOPLEFTALIGN | Сполучити лівий верхній кут блоку керування розміром з лівим верхнім кутом прямокутника, певного параметрами функції CreateWindow. |
SBS_SIZEGRIP | Те ж, що й SBS_SIZEBOX, але з активізованим краєм. |
SBS_TOPALIGN | Установити верхній край лінійки прокручування урівень із верхнім краєм прямокутника, певного параметрами функції CreateWindow. |
SBS_VERT | Створити вертикальну лінійку прокручування. |
Таблиця 7.10
Стилі вікон класу "статичних елементів"
Стиль | Опис |
SS_BITMAP | Створити статичний елемент керування з растровим зображенням, заданим параметром /psz/ndowName. Параметри nWidth й nНеight ігноруються й перераховуються з урахуванням розмірів растрового зображення. |
SS_BLACKFRAME | Створити прямокутник, для висновку якого на екран застосовується такі ж кольори, як і для рамок вікон. |
SS_BLACKRECT | Створити прямокутник, зафарбований такими ж кольорами, як і рамки вікон. |
SS_CENTER | Створити статичний елемент керування з вирівнюванням тексту по центрі й переносом слів на наступний рядок якщо буде потреба. |
SS_ETCHEDFRAME | Виводити на екран елемент керування з утопленою рамкою. |
SS_ETCHEDHORZ | Аналогічний стилю SS_ETCHEDFRAME, за винятком того, що втопленими будуть відображені тільки верхня й нижня сторони рамки. |
SS_ETCHEDVERT | Аналогічний стилю SS_ETCHEDFRAME, за винятком того, що втопленими будуть відображені тільки ліва й права сторони рамки |
SS_GRAYFRAME | Створити прямокутник, відображуваний такими ж кольорами, як й тло екрана (робітника стола). |
SS_CRAYRECT | Створити прямокутник, зафарбований такими ж кольорами, як фон екрана. |
SS_ICON | Створити статичний елемент керування, що відображає піктограму, зазначену параметром IpszWindowName. Параметри nWidth й niHeight ігноруються й перераховуються відповідно до розмірів піктограми. |
SS_LEFT | Створити статичний текстовий елемент керування, де заданий текст вирівняний по лівому краї й при необхідності розбитий на рядки. |
SS_LEFTNOWORDWRAP | Створити статичний текстовий елемент керування, де заданий текст вирівняний по лівому краї. Текст не розбивається на рядки, але символи табуляції розвертаються. Текст, що виходить за кінець рядка, відтинається. |
SS_NOPREFIX | Відключити інтерпретацію символу амперсанта (&) як ознаки оперативної клавіші |
SS_NOTIFY | Посилати батьківському вікну повідомні повідомлення STN_CLICKED й STN_DBLCLK, коли користувач клацає або двічі клацає на елементі керування |
SS_OWNERDRAW | За висновок на екран статичного елемента керування відповідає його власник. |
SS_REALSIZEIMAGE | Заборонити зміна розмірів статичного елемента керування відповідно до розмірів піктограми або растрового зображення. |
SS_RIGHT | Створити статичний текстовий елемент керування, де текст вирівняний по правому краї й при необхідності розбитий на рядки. |
SS_RIGHTJUST | Нижній правий кут статичного елемента керування зі стилем SS_BITMAP або SS_ICON залишається нерухомим при зміні розмірів елемента керування. Змінюється тільки положення верхньої й лівої сторін відповідно до розмірів растрового зображення або піктограми. |
SS_SIMPLE | Створити простий статичний текстовий елемент керування з текстом, вирівняним по лівому краї |
SS_SUNKEN | Виводити частково втоплену рамку навколо статичного елемента керування |
SS_WHITEFRAME | Створити прямокутник, що має при відображенні на екрані такі ж кольори, як і тло вікон. |
SS_WHITERECT | Створити прямокутник, зафарбований такими ж кольорами, як і тло вікна |
ПРИКЛАД:
Обчислити вираження а й в (Рис. 7.6) при заданих x, y й z. Програму оформити у вигляді графічного додатка. Уведення й висновок інформації організувати за допомогою діалогових вікон.
Рис. 7.6.Вираження а й б
Меню головного вікна один пункт «Обчислити» і два випадаючих підпункти «Варіант А», «Варіант В» (Рис. 7.7).
Рис. 7.7.Структура меню
Під це меню віконна функція зміниться й прийме вид:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDM_ABOUT1:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX1, hWnd, (DLGPROC)About1);
break;
case IDM_ABOUT2:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX2, hWnd, (DLGPROC)About2);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Діалогові вікна для організації уведення й висновку, а також обчислення виражень а й у мають вигляд Рис. 7.8.
Рис. 7.8.Діалогові вікна
Функції взаємодії з діалоговими вікнами й обчислення виражень а й у наведені нижче:
LRESULT CALLBACK About1(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
{
char sz[15],sz[15];
double x,y,a;
GetDlgItemText(hDlg,IDC_EDIT2,sz,12) ;
x = atof(sz);
GetDlgItemText(hDlg,IDC_EDIT3,sz,12) ;
y = atof(sz);
x=abs(x);
x=pow(x,1./3);
x=pow(y, x);
a=sin(y-3.);
a=pow(a,3.);
a=a+x;
sprintf(sz,"%7.4f",a);
SetWindowText(GetDlgItem(hDlg,IDC_SUM),sz);
}
break;
case IDCANCEL:
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
}
return FALSE;
}
LRESULT CALLBACK About2(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
{
char sz[15],sz[15];
double x,y,z,b;
GetDlgItemText(hDlg,IDC_EDIT2,sz,12) ;
x = atof(sz);
GetDlgItemText(hDlg,IDC_EDIT3,sz,12) ;
y = atof(sz);
GetDlgItemText(hDlg,IDC_EDIT4,sz,12) ;
z = atof(sz);
b=y*(atan(z)-3.1415/6);
x=abs(x)+1./(y*y+1);
b=b/x;
sprintf(sz,"%7.4f",b);
SetWindowText(GetDlgItem(hDlg,IDC_SUM),sz);
}
break;
case IDCANCEL:
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
}
return FALSE;
}
Фрагменти функцій About1 й About2 виділені жирним шрифтом для кожного варіанта будуть відрізнятися.
Прототипи діалогових функцій About1 й About2 мають вигляд:
LRESULT CALLBACK About1(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About2(HWND, UINT, WPARAM, LPARAM);
Робота графічного додатка в комплексі представлена на Рис. 7.9.
Рис. 7.9. Графічний додаток
– Конец работы –
Эта тема принадлежит разделу:
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ... Методичні рекомендації до лабораторних робіт з навчальної дисципліни...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Таблиця 7.5
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов