武汉理工大学VC可视化实验报告【参考】.doc
文本预览下载声明
验课程名称:_可视化编程(VC)
实验项目名称 熟悉VC IDE,创建一个简单的VC界面 实验成绩 实 验 者 专业班级 组 别 同 组 者 实验日期 2013年3月20日 第一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等)
实验目的及意义:熟悉VC IDE,创建一个简单的VC界面,了解窗口的概念,事件驱动的概念,消息及其在编程中的应用,对象与句柄的概念和使用。
实验内容:用API创建一个基本窗口
实验原理与方法:
窗口的创建步骤:
①定义窗口类 ②注册窗口类 ③创建窗口 ④显示窗口
通过switch(message)的消息循环响应不同的case消息,本实验主要是WM窗口消息。
WM_LBUTTONDOWN为单击鼠标消息,WM_DESTROY为摧毁窗口消息,WM_CLOSE为关闭窗口消息。
MessageBox()为弹出对话框的函数。
实验设备:microsoft VC6.0
第二部分:实验过程记录(可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等)
用API创建一个基本窗口的源代码:
#includewindows.h
#includetchar.h
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数声明
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{//初始化窗口
WNDCLASSEX w;//w为窗口类变量(不知道应该叫什么就叫变量好了)
HWND h;//h为窗口句柄变量
MSG m;//m为消息变量
CHAR w1[]=我的窗口;//w1存窗口类名
CHAR w2[]=简单窗口-Camo;//w2存窗口标题名
//初始化窗口类
w.cbSize=sizeof(WNDCLASSEX);
w.style=0;
w.lpfnWndProc=WndProc;
w.cbClsExtra=0;
w.cbWndExtra=0;
w.hInstance=hInstance;
//w.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_APPLICATION));
w.hIcon=LoadIcon(NULL,IDI_APPLICATION);
w.hCursor=LoadCursor(NULL,IDC_ARROW);
w.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
w.lpszMenuName=NULL;
w.lpszClassName=w1;
w.hIconSm=LoadIcon(w.hInstance,MAKEINTRESOURCE(IDI_APPLICATION));
//注册窗口类
if(!RegisterClassEx(w))
{
MessageBox(NULL,_T(窗口类注册失败!),_T(窗口注册),NULL);
return 1;
}
//创建窗口
h=CreateWindow(
w1,
w2,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(!h)//创建窗口失败就发出警告
{
MessageBox(NULL,窗口创建失败!,_T(创建窗口),NULL);
return 1;
}
//显示窗口
ShowWindow(h,nCmdShow);
UpdateWindow(h);
while(GetMessage(m,NULL,0,0))
{
TranslateMessage(m);
DispatchMessage(m);
}
return(int)m.wParam;
}
//窗口函数
LRESULT CALLBACK WndProc(HWND h,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
MessageBox(NULL,点击错误,错误提示,MB_OK);
break;
//这个case添加了点击鼠标左键报错的提示
case WM_D
显示全部