Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dialogo langai Benas Ragauskas, PS4 2015 m.

Similar presentations


Presentation on theme: "Dialogo langai Benas Ragauskas, PS4 2015 m."— Presentation transcript:

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)


Download ppt "Dialogo langai Benas Ragauskas, PS4 2015 m."

Similar presentations


Ads by Google