SendMessage((HWND)GetDlgItem (hWnd, IDC_RADIO1), BM_SETCHECK, 1, 0);
SendMessage((HWND)GetDlgItem (hWnd, IDC_RADIO3), BM_SETCHECK, 1, 0);
SendMessage((HWND)GetDlgItem (hWnd, IDC_RADIO5), BM_SETCHECK, 1, 0);
break;
// Сообщение от элементов диалогового окна
case WM_COMMAND:
switch (LOWORD (wParam))
{
. . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
// Обработка сообщения от первой кнопки
case IDC_RADIO1: MessageBox(hWnd, "Нажата первая кнопка!", "Р-КНОПКА",
MB_OK );
//для примера – сразу же выключим эту радиокнопку
SendMessage((HWND)lParam, BM_SETCHECK, 0, 0);
break;
10. Если взаимодействие между рамками группировки и элементами в них отсутствует, следует проверить текстовый вид файла ресурсов. Правильный формат описания диалоговой формы и элементов управления на ней на настоящий момент выглядит следующим образом:
/////////////////////////////////////////////////////////////////////////////
// Dialog
PVIEW_DLG DIALOG DISCARDABLE 100, 100, 268, 158
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Курсовой проект"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "Поле Ввода:",IDC_STATIC,13,7,58,12,SS_CENTERIMAGE
EDITTEXT PVIEW_COMPUTER,7,21,81,17,ES_AUTOHSCROLL
COMBOBOX IDC_COMBO1,7,52,82,99,CBS_DROPDOWN | CBS_SORT|WS_VSCROLL |WS_TABSTOP
CONTROL "Check1",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,7,44,14
CONTROL "Check2",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,23,50,15
GROUPBOX "Static1",IDC_STATIC1,91,37,67,52,WS_GROUP
CONTROL "Radio1",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,97,49,50,13
CONTROL "Radio2",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,97,65,50,13
GROUPBOX "Static2",IDC_STATIC2,91,98,67,53,WS_GROUP
CONTROL "Radio3",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,98,110,42,15
CONTROL "Radio4",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,98,129,40,16
GROUPBOX "Static3",IDC_STATIC3,7,69,80,42,WS_GROUP
CONTROL "Radio5",IDC_RADIO5,"Button",BS_AUTORADIOBUTTON,13,78,44,14
CONTROL "Radio6",IDC_RADIO6,"Button",BS_AUTORADIOBUTTON,13,93,50,14
END
/////////////////////////////////////////////////////////////////////////////
Синтаксис файла ресурсов, думается, не требует специального объяснения. Достаточно внимательно вчитаться. Для тех же, «кто в танке» рекомендую обратиться к любой книге по начальному программированию в Windows, например Фролов А.В., Фролов Г.В. Операционная система Windows 3.1; БСП том 12.
LIST BOX (СПИСОК )
9. Создадим на форме список:
Selection |
Количество строк одновременного выбора |
Owner draw |
|
Border |
Вывести рамку списка |
Sort |
Сортировка строк по алфавиту |
Notify |
Разрешено отправлять родителю сообщение WM_COMMAND |
Multi-column |
В списке множество колонок |
Horizontal scroll |
Имеется линейка горизонтальной прокрутки |
Vertical scroll |
Имеется линейка вертикальной прокрутки |
No redraw |
Запретить автоматическую перерисовку при добавлении строки |
Use tabstops |
Для столбцов списка использовать технологию табулостопов |
Want key input |
|
Disable no scroll |
Запретить отключение полос прокрутки |
No integral height |
10. Управление списком осуществляет следующий программный код (отмечен жирным):
switch (wMsg)
{
// Сообщение об инициализации диалогового окна
case WM_INITDIALOG:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
//Инициализация списка
//получить дескриптор окна списка
hList1 = GetDlgItem (hWnd, IDC_LIST1);
//заполнить список четырьмя строками (технология аналогична COMBO BOX)
for (InstanceIndex=0; InstanceIndex<4;InstanceIndex++)
{
sprintf(szListText,"строка-%d",InstanceIndex);
ListIndex = SendMessage (hList1, LB_ADDSTRING, 0, (long)szListText);
}
SendMessage (hList1, WM_SETREDRAW, TRUE, 0);
break;
// Сообщение от элементов диалогового окна
case WM_COMMAND:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.