Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Динамическое создание листбокса, комбобокса и кнопки, по нажатию на кнопку – в листбокс дописываются записи, по четному нажатию - листбокс активен, по нечетному – неактивен.Содержание книги
Поиск на нашем сайте
#include <windows.h> #include <stdio.h> #include <string.h> #define ID_LIST 1001 #define ID_BUTTON 1002 #define ID_COMBO 1003 LONG MyWinP(HWND, UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { char ProgName[]="My Window"; char Title[]="Заголовок окна"; HWND hWnd; MSG msg; WNDCLASS w; w.lpszClassName=ProgName; w.hInstance=hInstance; w.lpfnWndProc=(WNDPROC)MyWinP; w.hCursor=LoadCursor(NULL, IDC_ARROW); //w.hIcon=LoadIcon(hInstance, LPCTSTR(IDI_ICON2)); w.hIcon=LoadIcon(NULL,IDI_APPLICATION); w.lpszMenuName=NULL; w.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); w.style=CS_HREDRAW | CS_VREDRAW; w.cbClsExtra=0; w.cbWndExtra=0; if(!RegisterClass(&w)) return false; hWnd=CreateWindow(ProgName,Title, WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL,0,0, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if (!hWnd) return false;
ShowWindow(hWnd, nCmdShow); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LONG MyWinP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static HWND List1, Button1, Combo1; static int en; char item[150]; int nItem; switch(msg) { case WM_COMMAND: switch (LOWORD(wParam)) { case ID_LIST: if (HIWORD(wParam)==LBN_DBLCLK) { nItem=SendMessage(List1,LB_GETCURSEL,0,(LPARAM)item); if (nItem!=LB_ERR) { SendMessage(List1,LB_GETTEXT,nItem,(LPARAM)item); SetWindowText(hWnd,item); } } break; case ID_BUTTON: EnableWindow(List1, ++en%2); sprintf(item,"%d record",en); if (SendMessage(List1,LB_FINDSTRINGEXACT,0,(LPARAM)item)==LB_ERR) SendMessage(List1,LB_ADDSTRING,0,(LPARAM)item); break; case ID_COMBO: if (HIWORD(wParam)==CBN_EDITCHANGE) { GetWindowText(Combo1,item,sizeof(item)); SetWindowText(hWnd,item); } if (HIWORD(wParam)==CBN_KILLFOCUS) { GetWindowText(Combo1,item,sizeof(item)); if (SendMessage(Combo1,CB_FINDSTRINGEXACT,0,(LPARAM)item)==CB_ERR) { SendMessage(Combo1,CB_ADDSTRING,0,(LPARAM)item); SetWindowText(Combo1,""); } } break; } break; case WM_CREATE: Button1=CreateWindow("button","Добавить", WS_CHILD|WS_VISIBLE,10,270,100,30,hWnd,(HMENU)ID_BUTTON,NULL,NULL); List1=CreateWindow("listbox",NULL,WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_HSCROLL|LBS_STANDARD|LBS_NOINTEGRALHEIGHT, 10,40,100,220,hWnd,(HMENU)ID_LIST,NULL,NULL); SendMessage(List1,LB_SETHORIZONTALEXTENT,200,0); SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"1 record"); SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"5 record"); SendMessage(List1,LB_ADDSTRING,0,(LPARAM)"3 record"); SendMessage(List1,LB_SETCURSEL,1,0); en=1; Combo1=CreateWindow("combobox",NULL,WS_CHILD|WS_VISIBLE|WS_TABSTOP|CBS_AUTOHSCROLL|CBS_DROPDOWN|CBS_SORT, 10,320,100,200,hWnd,(HMENU)ID_COMBO,NULL,NULL); SendMessage(Combo1,CB_SETEXTENDEDUI,1,0); SendMessage(Combo1,CB_ADDSTRING,0,(LPARAM)"1 record"); SendMessage(Combo1,CB_ADDSTRING,0,(LPARAM)"5 record"); SendMessage(Combo1,CB_ADDSTRING,0,(LPARAM)"3 record"); SendMessage(Combo1,CB_SETCURSEL,1,0); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 0; } Пример 5 Создание скролбара #include <windows.h> #include <stdio.h> #include <string.h> #define ID_SCROLL 1001 LONG MyWinP(HWND, UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { char ProgName[]="My Window"; char Title[]="Заголовок окна"; HWND hWnd; MSG msg; WNDCLASS w; w.lpszClassName=ProgName; w.hInstance=hInstance; w.lpfnWndProc=(WNDPROC)MyWinP; w.hCursor=LoadCursor(NULL, IDC_ARROW); w.hIcon=LoadIcon(NULL,IDI_APPLICATION); w.lpszMenuName=NULL; w.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); w.style=CS_HREDRAW | CS_VREDRAW; w.cbClsExtra=0; w.cbWndExtra=0; if(!RegisterClass(&w)) return false; hWnd=CreateWindow(ProgName,Title, WS_OVERLAPPEDWINDOW,0,0, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if (!hWnd) return false; ShowWindow(hWnd, nCmdShow); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LONG MyWinP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static HWND Scroll1; switch(msg) { case WM_CREATE: Scroll1=CreateWindow("scrollbar",NULL, SBS_SIZEBOX|WS_CHILD|WS_VISIBLE,10,10,16,16,hWnd,(HMENU)0,NULL,NULL); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, msg, wParam, lParam); }return 0;}
Пример 6
|
||
|
Последнее изменение этой страницы: 2016-07-14; просмотров: 364; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.005 с.) |