Download presentation
Presentation is loading. Please wait.
1
Dialogo langai Benas Ragauskas, PS4 2015 m
2
Kas tai? Iššokantis pranešimo langas Svarbi informacija
Prašymas pasirinkti/įvesti Sutikimas/atsisakymas
3
Kaip sukurti? int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType); Iškvietusio lango “handle” Adresas į tekstą Adresas į pavadinimo tekstą Dialogo tipo informacija Grąžina skaičių. Atitinkamą paspausto mygtuko konstantai
4
Nei vienas parametras nėra privalomas (gali būti NULL)
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType); Nei vienas parametras nėra privalomas (gali būti NULL) Tekstas - rodyklė į NULL-terminated eilutę. Gali turėti '\n'. Pavadinimas – rodyklė į NULL-terminated eilutę. (Numatyta reikšmė “Error”) Tipo informacija – konstanta, nurodanti kokie bus mygtukai, Ikona kuris mygtukas bus numatytasis (atskiriami “|”)
5
Mygtukų kombinacijos
6
Ikonos
7
Numatytosios reikšmės
MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4
8
Rezultatų kodai IDABORT IDCANCEL IDCONTINUE IDIGNORE IDNO IDOK IDRETRY
IDTRYAGAIN IDYES
9
Kaip sukurti sudėtingesnį dialogą?
resource.h resource.rc Dialogo procedūra dialogo iškvietimas
10
resource.h #define IDC_STATIC -1 #define IDD_ABOUT 102
Nurodomos konstantos, kurios bus naudojamos
11
resource.rc #include "recource.h" #include "windows.h"
IDD_ABOUT DIALOG DISCARDABLE 0, 0, 239, 66 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "My About Box" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,174,18,50,14 PUSHBUTTON "Cancel",IDCANCEL,174,35,50,14 GROUPBOX "About this program...",IDC_STATIC,7,7,225,52 CTEXT "An example program showing how to use Dialog Boxes\r\n\r\nby theForger", IDC_STATIC,16,18,144,33 END
12
dialogo procedūra BOOL CALLBACK AboutDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch(LOWORD(wParam)) { case IDOK: EndDialog(hwnd, IDOK); break; case IDCANCEL: EndDialog(hwnd, IDCANCEL); } default: return FALSE; } return TRUE; }
13
dialogo iškvietimas int ret = DialogBox( GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_ABOUT), hwnd, AboutDlgProc ); Grąžinama reikšmė (ret) bus lygi paspaustam mygtukui
14
CreateDialog Dar viena funkcija sukurti iššokančiam langui
Grąžina dialogo “handle” Galima iškviesti vėliau su ShowWindow funkcija
15
Šaltiniai http://www.winprog.org/tutorial/ (kodo pavyzdžiai)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.