- UID
- 28208
- 帖子
- 18803
- 积分
- 56605
- 阅读权限
- 90
- 注册时间
- 2006-9-4
- 最后登录
- 2015-6-1
- 在线时间
- 12541 小时
- 战队
- [SvS]
- 联赛ID
- PY_Shmily
- 种族
- Protoss
- 战队
- [SvS]
- 联赛ID
- PY_Shmily
- 种族
- Protoss
|
实验四 Windows编程第一次作业
第一题:在以下代码基础上进行修改,达到以下要求:
1.在代码中合适的地方添加窗口类设计内容,要求:窗口的图标为IDI_QUESTION、光标样式为IDC_HAND、窗口背景颜色为浅灰色LTGRAY_BRUSH。
(例如对窗口图标,大家可以按照原来书上的例子里的内容设置为IDI_APPLICATION,然后在代码上右键点击“IDI_APPLICATION”转到它的定义,会发现有很多IDI_***的定义,在这里找到IDI_QUESTION,试试它的使用;对光标样式、背景颜色的定义也一样操作)(10%)
2.在代码中合适的地方添加窗口创建函数,要求窗口初始位置在屏幕上(50,50)处,窗口大小为600×800(具体参数意义可以向MSDN寻求帮助,操作方法是点击菜单“帮助”-“索引”,然后在MSDN的搜索框中键入你要查询的函数,比如CreateWindow,回车即可)(10%)
3.在代码中实现对WM_CREATE消息的正确响应:程序接受到WM_CREATE消息后弹出对话框询问用户是不是要真的退出,此时对话框上面设置两个按钮“确定”和“取消”,确定表示用户真的要退出,取消表示不退出。(30%)
4.修改代码,使得采用unicode字符集时,编译可以通过(10%)
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="window";
char lpszTitle[]="title_window";
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
第二题:在MSDN中寻找以下函数,读懂文档,分别用自己的话解释函数的几个方面:返回值、参数含义、函数含义(40%)
DispatchMessage()
GetMessage()
MessageBox()//对其中的第四个参数,解释三种按钮类型即可
交作业:上交一个压缩文件,文件名为“小班-姓名-学号”,其中包括:
1. 第一题的工程中的cpp文件(只要这个文件就可以了);
2. 第二题的文档(.doc或.txt文件) |
|