Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
API_lab_Гребенюк(всі лістинги л_р).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
416.26 Кб
Скачать

Лабораторна робота 3

«main.cpp»

#include <windows.h>

#include <time.h>

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

HWND tf;

HWND tf2;

HWND b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;

WNDCLASSEX wincl; /* Data structure for the windowclass */

int arrows[]={32650, 32512, 32515, 32649, 32651, 32513, 32641, 32648, 32640, 32646, 32643, 32645, 32642, 32642, 32516, 32514};

char szIconName[] = "ICON1";

char szCursorName[] = "CURSOR1";

char szProgName[] = "Hrebenuk I. A. PZS-1644 lab_3_API";

char szClassName[ ] = "CodeBlocksWindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,

HINSTANCE hPrevInstance,

LPSTR lpszArgument,

int nCmdShow)

{

HWND hwnd;

MSG messages;

wincl.hInstance = hThisInstance;

wincl.lpszClassName = szClassName;

wincl.lpfnWndProc = WindowProcedure;

wincl.style = CS_DBLCLKS;

wincl.cbSize = sizeof (WNDCLASSEX);

wincl.hIcon = LoadIcon(hThisInstance, szIconName);

wincl.hCursor = LoadCursor(hThisInstance, szCursorName);

wincl.lpszMenuName = NULL;

wincl.cbClsExtra = 0;

wincl.cbWndExtra = 0;

wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

if (!RegisterClassEx (&wincl))

return 0;

hwnd = CreateWindowEx (

0,

szClassName,

szProgName,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

448,

390,

HWND_DESKTOP,

NULL,

hThisInstance,

NULL

);

ShowWindow (hwnd, nCmdShow);

while (GetMessage (&messages, NULL, 0, 0))

{

TranslateMessage(&messages);

DispatchMessage(&messages);

}

return messages.wParam;

}

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

srand(time(NULL));

switch (message)

{

case WM_CREATE:

tf = CreateWindow("static", "pобота з курсорами за iконкою", WS_VISIBLE|WS_CHILD, 1,1,542,25,

hwnd, NULL, NULL, NULL);

b1 = CreateWindow("BUTTON", " урсор √ребенюка",WS_VISIBLE|WS_CHILD|WS_BORDER,100,30+35*8,200,30,

hwnd, (HMENU) 1, NULL, NULL);

b2 = CreateWindow("BUTTON", " урсор 1",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*0,200,30,

hwnd, (HMENU) 2, NULL, NULL);

b3 = CreateWindow("BUTTON", " урсор 2",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*1,200,30,

hwnd, (HMENU) 3, NULL, NULL);

b4 = CreateWindow("BUTTON", " урсор 3",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*2,200,30,

hwnd, (HMENU) 4, NULL, NULL);

b5 = CreateWindow("BUTTON", " урсор 4",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*3,200,30,

hwnd, (HMENU) 5, NULL, NULL);

b6 = CreateWindow("BUTTON", " урсор 5",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*4,200,30,

hwnd, (HMENU) 6, NULL, NULL);

b7 = CreateWindow("BUTTON", " урсор 6",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*5,200,30,

hwnd, (HMENU) 7, NULL, NULL);

b8 = CreateWindow("BUTTON", " урсор 7",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*6,200,30,

hwnd, (HMENU) 8, NULL, NULL);

b9 = CreateWindow("BUTTON", " урсор 8",WS_VISIBLE|WS_CHILD|WS_BORDER,1,30+35*7,200,30,

hwnd, (HMENU) 9, NULL, NULL);

/**/ b10 = CreateWindow("BUTTON", " урсор 9",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*0,200,30,

hwnd, (HMENU) 10, NULL, NULL);

/**/ b11 = CreateWindow("BUTTON", " урсор 10",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*1,200,30,

hwnd, (HMENU) 11, NULL, NULL);

/**/ b12 = CreateWindow("BUTTON", " урсор 11",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*2,200,30,

hwnd, (HMENU) 12, NULL, NULL);

/**/ b13 = CreateWindow("BUTTON", " урсор 12",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*3,200,30,

hwnd, (HMENU) 13, NULL, NULL);

/**/ b14 = CreateWindow("BUTTON", " урсор 13",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*4,200,30,

hwnd, (HMENU) 14, NULL, NULL);

/**/ b15 = CreateWindow("BUTTON", " урсор 14",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*5,200,30,

hwnd, (HMENU) 15, NULL, NULL);

/**/ b16 = CreateWindow("BUTTON", " урсор 15",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*6,200,30,

hwnd, (HMENU) 16, NULL, NULL);

/**/ b17 = CreateWindow("BUTTON", " урсор 16",WS_VISIBLE|WS_CHILD|WS_BORDER,230,30+35*7,200,30,

hwnd, (HMENU) 17, NULL, NULL);

break;

case WM_COMMAND:

switch(LOWORD(wParam)){

case 1:

char pathExe[1000];

GetModuleFileName(GetModuleHandle(NULL), pathExe, 1000 );

ShellExecute(0,0,pathExe,0,0,SW_SHOW);

exit(1);

break;

case 2: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[0]))); break;

case 3: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[1]))); break;

case 4: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[2]))); break;

case 5: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[3]))); break;

case 6: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[4]))); break;

case 7: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[5]))); break;

case 8: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[6]))); break;

case 9: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[7]))); break;

case 10: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[8]))); break;

case 11: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[9]))); break;

case 12: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[10]))); break;

case 13: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[11]))); break;

case 14: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[12]))); break;

case 15: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[13]))); break;

case 16: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[14]))); break;

case 17: SetClassLong(hwnd,GCL_HCURSOR,(LONG) LoadCursor(NULL, MAKEINTRESOURCE(arrows[15]))); break;

}

break;

case WM_DESTROY:

PostQuitMessage (0);

break;

default:

return DefWindowProc (hwnd, message, wParam, lParam);

}

return 0;

}

«resor.rc»

#include <windows.h>

ICON1 ICON "icon7.ico"

CURSOR1 CURSOR "cursor3.cur"