Advertisement
peterzig

[PIU] DrawText położenie

Oct 16th, 2016
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.51 KB | None | 0 0
  1. #include <Windows.h>
  2. //-------Zmienne i funkcje globalne.
  3. //-------Zmienne globalne.
  4. TCHAR EndCaption[] = TEXT("Zamykanie aplikacji");
  5. TCHAR EndText[] = TEXT("Czy chcesz zamknąć aplikację?");
  6. TCHAR WindowText[] = TEXT("Nowa nazwa okna");
  7.  
  8. //Komunikaty
  9. LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
  10. {
  11.     HDC hdc;
  12.     switch (msg)
  13.     {
  14.     case WM_PAINT:
  15.     {
  16.         PAINTSTRUCT ps;
  17.         RECT rect;
  18.         hdc = BeginPaint(hwnd, &ps);
  19.         GetClientRect(hwnd, &rect);
  20.         DrawText(hdc, TEXT("TEKST NA ŚRODKU NA GÓRZE"), -1, &rect, DT_SINGLELINE | DT_CENTER );
  21.         DrawText(hdc, TEXT("TEKST Z LEWEJ STRONY OKNA"), -1, &rect, DT_SINGLELINE | DT_LEFT | DT_VCENTER);
  22.         DrawText(hdc, TEXT("TEKST NA ŚRODKU OKNA"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
  23.         DrawText(hdc, TEXT("TEKST Z PRAWEJ STRONY OKNA"), -1, &rect, DT_SINGLELINE | DT_RIGHT | DT_VCENTER);
  24.         DrawText(hdc, TEXT("TEKST NA ŚRODKU NA DOLE"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_BOTTOM);
  25.         EndPaint(hwnd, &ps);
  26.         break;
  27.     }
  28.  
  29.     case WM_LBUTTONDOWN:
  30.         hdc = GetDC(hwnd);
  31.         SetWindowText(hwnd, WindowText);
  32.         ReleaseDC(hwnd, hdc);
  33.         break;
  34.  
  35.     case WM_CREATE:
  36.         break;
  37.  
  38.     case WM_CLOSE:
  39.         if (MessageBox(hwnd, EndText, EndCaption, MB_YESNO) == IDYES) {
  40.             DestroyWindow(hwnd);
  41.         }
  42.         break;
  43.  
  44.     case WM_DESTROY:
  45.         PostQuitMessage(0);
  46.         break;
  47.  
  48.     default:
  49.         return DefWindowProc(hwnd, msg, wParam, lParam);
  50.     }
  51.  
  52.     return 0;
  53. }
  54.  
  55. //Main
  56. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ilCmdLine, int nCmdShow)
  57. {
  58.     WNDCLASSEX window;
  59.     HWND hwnd = NULL;
  60.     MSG msg;
  61.     TCHAR Class_Name[] = TEXT("OKNO_TEST");
  62.     TCHAR Title[] = TEXT("Typowa Aplikacja WinAPI");
  63.  
  64.     window.cbClsExtra = NULL;
  65.     window.cbSize = sizeof(WNDCLASSEX);
  66.     window.cbWndExtra = NULL;
  67.     window.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  68.     window.hCursor = LoadCursor(NULL, IDC_ARROW);
  69.     window.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  70.     window.hIconSm = NULL;
  71.     window.hInstance = hInstance;
  72.     window.lpfnWndProc = WndProc;
  73.     window.lpszClassName = Class_Name;
  74.     window.lpszMenuName = 0;
  75.     window.style = CS_VREDRAW | CS_HREDRAW;
  76.  
  77.     RegisterClassEx(&window);
  78.  
  79.     hwnd = ((CreateWindowEx(WS_EX_WINDOWEDGE, Class_Name, Title,
  80.         WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT,
  81.         800, 600, NULL, NULL, hInstance, NULL)));
  82.  
  83.     ShowWindow(hwnd, nCmdShow);
  84.     UpdateWindow(hwnd);
  85.  
  86.     while (GetMessage(&msg, NULL, 0, 0))
  87.     {
  88.         TranslateMessage(&msg);
  89.         DispatchMessage(&msg);
  90.     }
  91.     UnregisterClass(Class_Name, hInstance);
  92.     return msg.wParam;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement