Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- HWND przycisk;
- /* This is where all the input to the window goes to */
- LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
- switch(Message) {
- /* Upon destruction, tell the main thread to stop */
- case WM_DESTROY: {
- PostQuitMessage(0);
- break;
- }
- case WM_COMMAND: {
- if (wParam == 1)
- {
- HDC hdcOkno = GetDC ( hwnd );
- HPEN CzerwonePioro, Pudelko;
- POINT stary;
- CzerwonePioro = CreatePen( PS_SOLID, 5, 0x0000FF ); //RGB (255,255,255);
- Pudelko =( HPEN ) SelectObject( hdcOkno, CzerwonePioro );
- MoveToEx( hdcOkno, 300,20, & stary );
- LineTo(hdcOkno , 310 ,40 );
- MoveToEx( hdcOkno, 300,20, & stary );
- LineTo(hdcOkno , 290 ,40 );
- MoveToEx( hdcOkno, 300,20, & stary );
- LineTo(hdcOkno , 300 ,420 );
- MoveToEx( hdcOkno, 600,200, & stary );
- LineTo(hdcOkno , 50 ,200 );
- MoveToEx( hdcOkno, 600,200, & stary );
- LineTo(hdcOkno , 580 ,190 );
- MoveToEx( hdcOkno, 600,200, & stary );
- LineTo(hdcOkno , 580 ,210 );
- MoveToEx( hdcOkno, 330 , 210, & stary );
- LineTo(hdcOkno ,330 ,200 );
- MoveToEx( hdcOkno, 360 , 210, & stary );
- LineTo(hdcOkno , 360 ,200 );
- MoveToEx( hdcOkno,390 , 210, & stary );
- LineTo(hdcOkno , 390 ,200 );
- MoveToEx( hdcOkno,420 , 210, & stary );
- LineTo(hdcOkno , 420 ,200 );
- MoveToEx( hdcOkno, 450 , 210, & stary );
- LineTo(hdcOkno , 450 ,200 );
- MoveToEx( hdcOkno,480 , 210, & stary );
- LineTo(hdcOkno , 480 ,200 );
- MoveToEx( hdcOkno, 270 , 210, & stary );
- LineTo(hdcOkno , 270 ,200 );
- MoveToEx( hdcOkno, 240 , 210, & stary );
- LineTo(hdcOkno , 240 ,200 );
- MoveToEx( hdcOkno, 210 , 210, & stary );
- LineTo(hdcOkno , 210 ,200 );
- MoveToEx( hdcOkno, 180 , 210, & stary );
- LineTo(hdcOkno , 180 ,200 );
- MoveToEx( hdcOkno,150 , 210, & stary );
- LineTo(hdcOkno , 150 ,200 );
- MoveToEx( hdcOkno,120 , 210, & stary );
- LineTo(hdcOkno , 120 ,200 );
- MoveToEx( hdcOkno, 310 , 230, & stary );
- LineTo(hdcOkno , 300 ,230 );
- MoveToEx( hdcOkno,310 , 260, & stary );
- LineTo(hdcOkno , 300 ,260 );
- MoveToEx( hdcOkno, 310 , 290, & stary );
- LineTo(hdcOkno , 300 ,290 );
- MoveToEx( hdcOkno, 310 , 320, & stary );
- LineTo(hdcOkno , 300 ,320 );
- MoveToEx( hdcOkno, 310 , 350, & stary );
- LineTo(hdcOkno , 300 ,350 );
- MoveToEx( hdcOkno, 310 , 170, & stary );
- LineTo(hdcOkno , 300 ,170 );
- MoveToEx( hdcOkno, 310 , 140, & stary );
- LineTo(hdcOkno , 300 ,140 );
- MoveToEx( hdcOkno,310 , 110, & stary );
- LineTo(hdcOkno , 300 ,110 );
- MoveToEx( hdcOkno, 310 , 80, & stary );
- LineTo(hdcOkno , 300 ,80 );
- MoveToEx( hdcOkno,310 , 50, & stary );
- LineTo(hdcOkno , 300 ,50 );
- TextOut(hdcOkno, 330 , 210, "1",2);
- TextOut(hdcOkno, 360 , 210, "2",2);
- TextOut(hdcOkno, 390 , 210, "3",2);
- TextOut(hdcOkno, 420 , 210, "4",2);
- TextOut(hdcOkno, 450 , 210, "5",2);
- TextOut(hdcOkno, 480 , 210, "6",2);
- TextOut(hdcOkno, 270 , 210, "-1",2);
- TextOut(hdcOkno, 240 , 210, "-2",2);
- TextOut(hdcOkno, 210 , 210, "-3",2);
- TextOut(hdcOkno, 180 , 210, "-4",2);
- TextOut(hdcOkno, 150 , 210, "-5",2);
- TextOut(hdcOkno, 120 , 210, "-6",2);
- TextOut(hdcOkno, 310 , 230, "-1",2);
- TextOut(hdcOkno, 310 , 260, "-2",2);
- TextOut(hdcOkno, 310 , 290, "-3",2);
- TextOut(hdcOkno, 310 , 320, "-4",2);
- TextOut(hdcOkno, 310 , 350, "-5",2);
- TextOut(hdcOkno, 310 , 170, "1",2);
- TextOut(hdcOkno, 310 , 140, "2",2);
- TextOut(hdcOkno, 310 , 110, "3",2);
- TextOut(hdcOkno, 310 , 80 , "4",2);
- TextOut(hdcOkno, 310 , 50 , "5",2);
- SelectObject (hdcOkno, Pudelko);
- DeleteObject( CzerwonePioro);
- ReleaseDC( hwnd, hdcOkno );
- }
- break;
- }
- /* All other messages (a lot of them) are processed using default procedures */
- default:
- return DefWindowProc(hwnd, Message, wParam, lParam);
- }
- return 0;
- }
- /* The 'main' function of Win32 GUI programs: this is where execution starts */
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
- WNDCLASSEX wc; /* A properties struct of our window */
- HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
- MSG msg; /* A temporary location for all messages */
- /* zero out the struct and set the stuff we want to modify */
- memset(&wc,0,sizeof(wc));
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.lpfnWndProc = WndProc; /* This is where we will send messages to */
- wc.hInstance = hInstance;
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- /* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wc.lpszClassName = "WindowClass";
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */
- wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* use the name "A" to use the project icon */
- if(!RegisterClassEx(&wc)) {
- MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
- return 0;
- }
- hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, /* x */
- CW_USEDEFAULT, /* y */
- 640, /* width */
- 480, /* height */
- NULL,NULL,hInstance,NULL);
- przycisk = CreateWindowEx(0,"Button","to nie jest przycisk",WS_VISIBLE|WS_CHILD,
- 10, /* x */
- 10, /* y */
- 150, /* width */
- 50, /* height */
- hwnd,(HMENU)1,hInstance,NULL);
- if(hwnd == NULL) {
- MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
- return 0;
- }
- /*
- This is the heart of our program where all input is processed and
- sent to WndProc. Note that GetMessage blocks code flow until it receives something, so
- this loop will not produce unreasonably high CPU usage
- */
- while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received... */
- TranslateMessage(&msg); /* Translate key codes to chars if present */
- DispatchMessage(&msg); /* Send it to WndProc */
- }
- return msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement