EndDialog(hDlg, 0);

//Arquivo: main.c #include <windows.h> #include "resource.h" LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); BOOL CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK EllipPushWndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hI,HINSTANCE hPI, PSTR szCL,int iCS) { static TCHAR szAppName[] = TEXT("About3"); MSG msg; HWND hwnd; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hI; wndclass.hIcon = LoadIcon(hI, szAppName); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = szAppName; wndclass.lpszClassName = szAppName; if(!RegisterClass(&wndclass)) { MessageBox(NULL,TEXT("Error!"),szAppName,MB_ICONERROR); return 0; } wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = EllipPushWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hI; wndclass.hIcon = NULL; wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = TEXT("EllipPush"); RegisterClass(&wndclass); hwnd = CreateWindow( szAppName,TEXT("EndDialog(hDlg, 0);"),WS_OVERLAPPEDWINDOW, 120,100,500,300, NULL, NULL, hI, NULL ); ShowWindow(hwnd, iCS); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage (&msg); FreeConsole(); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { static HINSTANCE hInstance; switch(msg) { case WM_CREATE: hInstance = ((LPCREATESTRUCT) lParam)->hInstance; return 0; case WM_COMMAND: switch(LOWORD(wParam)) { case IDM_APP_ABOUT: DialogBox(hInstance,TEXT("AboutBox"), hwnd, AboutDlgProc); return 0; } break; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); } BOOL CALLBACK AboutDlgProc(HWND hDlg, UINT msg,WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch(LOWORD(wParam)) { case IDOK: EndDialog(hDlg, 0); return TRUE; } break; } return FALSE; } LRESULT CALLBACK EllipPushWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { TCHAR szText[40]; HBRUSH hBrush; HDC hdc; PAINTSTRUCT ps; RECT rect; switch(msg) { case WM_PAINT: GetClientRect(hwnd, &rect); GetWindowText(hwnd, szText, sizeof(szText)); hdc = BeginPaint(hwnd,&ps); hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOW)); hBrush = (HBRUSH)SelectObject(hdc, hBrush); SetBkColor(hdc, GetSysColor(COLOR_WINDOW)); SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT)); Ellipse(hdc, rect.left,rect.top,rect.right,rect.bottom); DrawText(hdc,szText, -1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER); DeleteObject(SelectObject(hdc, hBrush)); EndPaint(hwnd, &ps); return 0; case WM_KEYUP: if(wParam != VK_SPACE) break; case WM_LBUTTONUP: SendMessage(GetParent(hwnd),WM_COMMAND,GetWindowLong(hwnd,GWL_ID),(LPARAM)hwnd); return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); }
//Arquivo: resource.h #define IDM_APP_ABOUT 40001 #define IDC_STATIC 1
//Arquivo: resource.rc #include "resource.h" #include "afxres.h" ABOUTBOX DIALOG DISCARDABLE 32, 32, 220, 100 STYLE DS_MODALFRAME | WS_POPUP FONT 14, "Arial" BEGIN CONTROL "Sair", IDOK,"EllipPush",WS_GROUP|WS_TABSTOP,73,79,32,14 ICON "icon1.ico", IDC_STATIC, 7, 7,20,20 CTEXT "João 1:34", IDC_STATIC, 40,12,100,8 CTEXT "E eu vi e tenho testificado que este é o Filho de Deus.",IDC_STATIC, 7,40,166,8 CTEXT "Santifica-os na tua verdade; a tua palavra é a verdade. João 17:17",IDC_STATIC,-3,52,220,8 END ABOUT3 MENU DISCARDABLE BEGIN POPUP "&Ajuda" BEGIN MENUITEM "Item de Menu", IDM_APP_ABOUT END END ABOUT3 ICON DISCARDABLE "icon1.ico"

Comentários