ProPixel

Participe do fórum, é rápido e fácil

ProPixel
ProPixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Atom
Atom
Membro Pro

<b>Idade</b> Idade : 28
<b>Posts</b> Posts : 1236
<b>Créditos</b> Créditos : 0
<b>Respeito</b> Respeito : 18
Vocês conseguiram fazer aquela janelinha estilo dos...sim! então vamos passar para o modelo do windows!
Codigo
Código:
[list=1]
[*][font='Courier New'][color=#339933]#include <windows.h>[/color][/font]
[*][font='Courier New'][color=#339933]#include <windowsx.h>[/color][/font]
[*][font='Courier New'][color=#339933]#include <commctrl.h>[/color][/font]
[*][font='Courier New'][color=#339933]#include <string.h>[/color][/font]
[*][font='Courier New'][color=#339933]#include "testedlgres.h"[/color][/font]
[*]
[*][font='Courier New'][color=#993333]static[/color] BOOL CALLBACK DialogFunc[color=#66CC66]([/color][/font]
[*][font='Courier New']  HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam[color=#66CC66])[/color];[/font]
[*]
[*][font='Courier New'][color=#993333]int[/color] APIENTRY WinMain[color=#66CC66]([/color][/font]
[*][font='Courier New']  HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpCmdLine, [color=#993333]int[/color] nCmdShow[color=#66CC66])[/color][/font]
[*][font='Courier New'][color=#66CC66]{[/color][/font]
[*][font='Courier New']  WNDCLASS wc;[/font]
[*][font='Courier New']  INITCOMMONCONTROLSEX cc;[/font]
[*]
[*][font='Courier New']  memset[color=#66CC66]([/color]&wc,[color=#CC66CC]0[/color],[color=#993333]sizeof[/color][color=#66CC66]([/color]wc[color=#66CC66])[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']  wc.[color=#202020]lpfnWndProc[/color] = DefDlgProc;[/font]
[*][font='Courier New']  wc.[color=#202020]cbWndExtra[/color] = DLGWINDOWEXTRA;[/font]
[*][font='Courier New']  wc.[color=#202020]hInstance[/color] = hinst;[/font]
[*][font='Courier New']  wc.[color=#202020]hCursor[/color] = LoadCursor[color=#66CC66]([/color][color=#000000][b]NULL[/b][/color], IDC_ARROW[color=#66CC66])[/color];[/font]
[*][font='Courier New']  wc.[color=#202020]hbrBackground[/color] = [color=#66CC66]([/color]HBRUSH[color=#66CC66])[/color] [color=#66CC66]([/color]COLOR_WINDOW + [color=#CC66CC]1[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']  wc.[color=#202020]lpszClassName[/color] = [color=#FF0000]"testedlg"[/color];[/font]
[*][font='Courier New']  RegisterClass[color=#66CC66]([/color]&wc[color=#66CC66])[/color];[/font]
[*][font='Courier New']  memset[color=#66CC66]([/color]&cc,[color=#CC66CC]0[/color],[color=#993333]sizeof[/color][color=#66CC66]([/color]cc[color=#66CC66])[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']  cc.[color=#202020]dwSize[/color] = [color=#993333]sizeof[/color][color=#66CC66]([/color]cc[color=#66CC66])[/color];[/font]
[*][font='Courier New']  cc.[color=#202020]dwICC[/color] = 0xffffffff;[/font]
[*][font='Courier New']  InitCommonControlsEx[color=#66CC66]([/color]&cc[color=#66CC66])[/color];[/font]
[*]
[*][font='Courier New']  [color=#B1B100]return[/color] DialogBox[color=#66CC66]([/color][/font]
[*][font='Courier New']      hinst, MAKEINTRESOURCE[color=#66CC66]([/color]IDD_MAINDIALOG[color=#66CC66])[/color], [color=#000000][b]NULL[/b][/color], [color=#66CC66]([/color]DLGPROC[color=#66CC66])[/color] DialogFunc[color=#66CC66])[/color];[/font]
[*][font='Courier New'][color=#66CC66]}[/color][/font]
[*]
[*][font='Courier New'][color=#993333]static[/color] [color=#993333]int[/color] InitializeApp[color=#66CC66]([/color]HWND hDlg,WPARAM wParam, LPARAM lParam[color=#66CC66])[/color][/font]
[*][font='Courier New'][color=#66CC66]{[/color][/font]
[*][font='Courier New']  [color=#B1B100]return[/color] [color=#CC66CC]1[/color];[/font]
[*][font='Courier New'][color=#66CC66]}[/color][/font]
[*]
[*][font='Courier New'][color=#993333]static[/color] BOOL CALLBACK DialogFunc[color=#66CC66]([/color][/font]
[*][font='Courier New']  HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam[color=#66CC66])[/color][/font]
[*][font='Courier New'][color=#66CC66]{[/color][/font]
[*][font='Courier New']  [color=#B1B100]switch[/color] [color=#66CC66]([/color]msg[color=#66CC66])[/color] [color=#66CC66]{[/color][/font]
[*][font='Courier New']  [color=#B1B100]case[/color] WM_INITDIALOG:[/font]
[*][font='Courier New']      InitializeApp[color=#66CC66]([/color]hwndDlg,wParam,lParam[color=#66CC66])[/color];[/font]
[*][font='Courier New']      [color=#B1B100]return[/color] [color=#000000][b]TRUE[/b][/color];[/font]
[*][font='Courier New']  [color=#B1B100]case[/color] WM_COMMAND:[/font]
[*][font='Courier New']      [color=#B1B100]switch[/color] [color=#66CC66]([/color]LOWORD[color=#66CC66]([/color]wParam[color=#66CC66])[/color][color=#66CC66])[/color] [color=#66CC66]{[/color][/font]
[*][font='Courier New']        [color=#B1B100]case[/color] IDOK:[/font]
[*][font='Courier New']            EndDialog[color=#66CC66]([/color]hwndDlg,[color=#CC66CC]1[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']            [color=#B1B100]return[/color] [color=#CC66CC]1[/color];[/font]
[*][font='Courier New']        [color=#B1B100]case[/color] IDCANCEL:[/font]
[*][font='Courier New']            EndDialog[color=#66CC66]([/color]hwndDlg,[color=#CC66CC]0[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']            [color=#B1B100]return[/color] [color=#CC66CC]1[/color];[/font]
[*][font='Courier New']      [color=#66CC66]}[/color][/font]
[*][font='Courier New']      [color=#000000][b]break[/b][/color];[/font]
[*][font='Courier New']  [color=#B1B100]case[/color] WM_CLOSE:[/font]
[*][font='Courier New']      EndDialog[color=#66CC66]([/color]hwndDlg,[color=#CC66CC]0[/color][color=#66CC66])[/color];[/font]
[*][font='Courier New']      [color=#B1B100]return[/color] [color=#000000][b]TRUE[/b][/color];[/font]
[*][font='Courier New']  [color=#66CC66]}[/color][/font]
[*][font='Courier New']  [color=#B1B100]return[/color] [color=#000000][b]FALSE[/b][/color];[/font]
[*][font='Courier New'][color=#66CC66]}[/color][/font]
[/list]
A janela fica assimSua primeira janela em c Testedlg
Não se assuste com todo este código, mesmo porque vamos cansar de
vê-lo e, pode ter certeza, a gente acaba se acostumando. Observe que o
programa possui três funções: WinMain (linha 10), InitializaApp (linha
33) e a DialogFunc (linha 38). A InitializaApp não faz nada além de
retornar 1 - serve apenas de gancho se quisermos configurar alguma
coisa antes da caixa de diálogo ser mostrada. Vou tentar explicar em
detalhes as outras duas, a WinMain e a DialogFunc.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos