Автор работы: Пользователь скрыл имя, 18 Ноября 2012 в 22:18, курсовая работа
Целью данной работы является: изучение способов создания, изменения свойств и уничтожения перекрывающихся и всплывающих окон, создания элементов управления на пользовательском блоке диалога с помощью редактора ресурсов, а также программно; применение в приложении вторичных потоков, входная функция которых позволяет реализовать прорисовку графических примитивов; научиться передавать параметры во вторичный поток.
ВВЕДЕНИЕ 4
1 Работа с окнами 9
1.1 Условие 9
1.2 Описание программного кода 9
1.3 Пример работы программы 13
2 Работа со стандартными элементами управления 15
2.1 Условие 15
2.2 Описание программного кода 15
2.3 Пример работы программы 19
3 Интерфейс графических устройств 20
3.1 Условие 20
3.2 Описание программного кода 21
3.3 Пример работы программы 23
4 Блоки диалога 24
4.1 Условие 24
4.2 Пользовательский блок диалога 25
4.3 Стандартные блоки диалога 26
4.4 Пример работы программы 27
5 Вторичный поток 31
5.1 Условие 31
5.2 Описание программного кода 31
5.3 Пример работы программы 34
ВЫВОД 36
Список ИСПользуемой литературы 37
Приложение А. Исходный код к заданию №1 38
Приложение Б. Исходный код к заданию №2 40
Приложение В. Исходный код к заданию №3 43
Приложение Г. Исходный код к заданию №4 45
Приложение Д. Исходный код к заданию №5 48
if(!RegisterClass(&w)) return false;
hWnd=CreateWindow(ProgName,
GetClientRect(hWnd,&value);
/*---------------Кнопка
butClick=CreateWindow("button"
/*--------------------Поля для ввода
параметров--------------------
Edit1=CreateWindowEx(WS_EX_
Edit2=CreateWindowEx(WS_EX_
Edit3=CreateWindowEx(WS_EX_
Edit4=CreateWindowEx(WS_EX_
/*----------------Подсказки для ввода-------------------------
hStatic1=CreateWindow("static"
hStatic2=CreateWindow("static"
hStatic3=CreateWindow("static"
hStatic4=CreateWindow("static"
/*--------------Начальные
SetDlgItemText(hWnd,EditID1,"
SetDlgItemText(hWnd,EditID2,"
SetDlgItemText(hWnd,EditID3,"
SetDlgItemText(hWnd,EditID4,"
if (!hWnd) return false;
ShowWindow(hWnd, nCmdShow);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LONG MyWinP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
datas d;
DWORD id;
static HANDLE hThr;
char buf[256];
switch(msg)
{
case WM_CREATE:
hThr=0;
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
d.hwnd=hWnd;
GetDlgItemText(hWnd,EditID1,
d.dy=atof(buf);
GetDlgItemText(hWnd,EditID2,
d.dx=atof(buf);
GetDlgItemText(hWnd,EditID3,
d.centerY=atof(buf);
GetDlgItemText(hWnd,EditID4,
d.centerX=atof(buf);
if (hThr!=0) CloseHandle(hThr);
hThr=CreateThread(NULL,0,(
EndPaint(hWnd, &ps);
break;
case WM_COMMAND:
if(LOWORD(wParam)==ButtonID)
{
SendMessage(hWnd,WM_PAINT,
}
break;
case WM_DESTROY:
CloseHandle(hThr);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
DWORD WINAPI Thread2(LPVOID params)
{
datas *dt=(datas*)params;
HDC dc=GetDC(dt->hwnd);
Ellipse(dc, dt->centerX-dt->dx , dt->centerY-dt->dy ,dt->centerX+dt->dx , dt->centerY+dt->dy );
ReleaseDC(dt->hwnd,dc);
return 0;
}
Информация о работе Изменения свойств и уничтожения перекрывающихся и всплывающих окон