Advertisement
Kofa_Joh

23.08.2017

Aug 23rd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.05 KB | None | 0 0
  1. #include <Windows.h>
  2. #include "resource.h"
  3. #include <tchar.h>
  4. #define ID_BUT1 3000
  5.  
  6. BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  7.  
  8. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPervInstance, LPSTR lpCmdLine, int mCmdShow)
  9. {
  10.     HWND hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);
  11.     ShowWindow(hWnd, SW_NORMAL);
  12.     UpdateWindow(hWnd);
  13.  
  14.     MSG msg;
  15.     while (GetMessage(&msg, NULL, 0, 0))
  16.     {
  17.         TranslateMessage(&msg);//нужно так как будет приниматься сообщение от клавиатуры, для перевода значения
  18.         DispatchMessage(&msg);
  19.     }
  20.  
  21.     return msg.wParam;
  22.     //return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DlgProc);
  23. }
  24.  
  25. BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  26. {
  27.     static HWND hStatic1;
  28.     static HWND hBut1;
  29.     static HWND hButOK, hCheckOK;
  30.  
  31.  
  32.  
  33.  
  34.     switch (uMsg)
  35.     {
  36.     case WM_INITDIALOG:
  37.         hButOK = GetDlgItem(hWnd, IDC_BUTTON2);
  38.         hCheckOK = GetDlgItem(hWnd, IDC_CHECK1);
  39.         hStatic1 = CreateWindowEx(NULL, L"STATIC" /*class*/, _TEXT("My first static"), WS_CHILD | WS_VISIBLE,
  40.             150, 30, 60, 40, hWnd /*parent*/,
  41.             NULL, GetModuleHandle(NULL), NULL);
  42.         hBut1 = CreateWindowEx(WS_EX_TOPMOST, _TEXT ("BUTTON"), _TEXT("Click") /* Текст на кнопке*/, WS_CHILD | WS_VISIBLE  /* Стиль*/,
  43.             10,150,60, 40, hWnd /* Родитель*/, (HMENU)ID_BUT1 /* ID кнопки*/,
  44.             GetModuleHandle(NULL), NULL);
  45.         return true;
  46.     case WM_COMMAND:
  47.         if (lParam == LPARAM(hCheckOK))
  48.         /*if (LOWORD(wParam) == IDC_BUTTON2)*/
  49.         {
  50.             MessageBox(NULL, L"Button", L"Info", MB_OK);
  51.             if (SendMessage(hCheckOK, BM_GETCHECK, 0, 0) == BST_UNCHECKED)
  52.             {
  53.                 SendMessage(hCheckOK, BM_SETCHECK, BST_CHECKED, 0);
  54.             }
  55.             else
  56.             {
  57.                 SendMessage(hCheckOK, BM_SETCHECK, BST_UNCHECKED, 0);
  58.             }
  59.         }
  60.     case WM_CLOSE:
  61.         DestroyWindow(hWnd);
  62.         PostQuitMessage(0);
  63.         return true;
  64.     }
  65.  
  66.     return false;
  67.     /*switch (uMsg)
  68.     {
  69.     case WM_CLOSE:
  70.     EndDialog(hWnd, 0);
  71.     return true;
  72.     }
  73.  
  74.  
  75.     return false;*/
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement