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


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


127

DispatchMessage(&Msg);

} return Msg.wParam;

LRESULT CALLBACK ListBoxExampleWndProc(HWND liWnd, UINT Message,

UINT wParam, LONG IParam )

{

switch(Message) !

case WM_COMMAND: switch(LOWORD(wParam))

{ case IDM_DisplayDialog:

DialogBox(hInst, "ListBox", hWnd, ListBoxExampleDialogProc);

break; case IDM_Exit:

SendMessage(hWnd, WM_CLOSE, 0, 0);

break;

}

break;

case WM JDESTROY: PostQuitMessage(O); return 0;

v i

return DefWindowProc(hWnd, Message, wParam, IParam);

BOOL CALLBACK ListBoxExampleDiaIogProc(HWND hDlg, UINT Message,

WPARAM wParam, LPARAM IParam)

{

int i; // 1 like «Ivanov, Petrov, Sidorov ...» TV-program. ©

LPSTR pszltems[12] = {"Berdiev", "Vasilkov", "Ivanov", "Petrov", "Sidorov", "Johnson", "Jackson", "Tompson", "Pererepenko", "Khabibullin", "Novozhenov", "Mamedov"};

char cMessage[36] = "Message about ";

char cltem[12];

static HWND hListBox;

switch(Message)

{

case WMJNITDIALOG: hListBox = GetD!gItem(hDlg, ID_MyListBox); for(i = 0;i< 12;i++) SendMessage(hListBox, LB^ADDSTRING, (WPARAM) 0, (LPARAM)

pszltems[i]); return TRUE;

128

case WM_COMMAND: switch(LOWORD(wParam)) {

case ID_MyListBox:

if(HIWORD(wParam) == LBN_SELCHANGE) { SendMessagc(hListBox, LB^GETTEXT, SendMessage(hListBox,

LB_GETCURSEL, 0, 0), (LPARAM) cltcm); strcpy(cMessage + 14, cllcm); SendDlgItemMessage(liDlg, ID_StatusBar, SB_SETTEXT,

(WPARAM) 0, (LPARAM) cMessage); }

break;

case ID_Cancel: EndDialogfliDlg, 0); break; } break;

) return FALSE;

В этой программе основное меню окна предлагает отобразить диалог. При запуске диалога (при обработке сообщения WMJNITDIALOG) производится заполнение списка фамилиями. При переносе выделения с выбранного элемента окна списка на другой элемент в строке состояния отображается выбранная фамилия. Таким образом, я продемонстрировал заполнение списка и выборку информации из него, а также работу по обработке нотификашюнного сообще­ния. Вид создаваемого программой окна со списком показан на рис. 10.




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



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