建网站用html/营销型网站建设题库
Windows API程序设计(窗口创建)
目的
- 了解
windows
操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动; - 掌握
WinMain
函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数;
实验内容
1.创建弹出对话框函数
2.添加WinMain
函数
3.建立Win32
动态函数创建MFC对话框
实验环境
1.Visual C++ 6.0
1.创建弹出对话框函数
-
文件=>新建=>工程,选择
Win32 Console Application
(支持main
函数的 弹出对话框函数),选择一个空工程。 -
文件=>新建=>文件,选择
C++ Source File
。 -
编写弹出对话框函数,运行
#include <iostream>
#include <Windows.h>//加上Windows.h头文件
using namespace std; int main()
{ cout << "Hellow My friend" << endl; //弹出一个对话框函数,第一个参数为副窗口一般写NULL,第二个参数是消息的内容,第三个参数是标题,第四个参数是按钮(常量) MessageBox(NULL, TEXT("Hellow My friend"), TEXT("第一个窗口"), MB_OK); system("pause"); return 0;
}
2.添加WinMain
函数
Windows的程序有一个 Winmain
,Winmain()
有四个参数,微软规定我们做 Windows
程序设计, 就必须把这四个参数写上,即使不用到。
-
文件=>新建=>工程,选择
Win32 Application
(支持WinMain
函数的 弹出对话框函数),选择一个空工程。 -
文件=>新建=>文件,选择
C++ Source File
。 -
编写WinMain函数的弹出对话框函数,运行。
#include <iostream>
#include <Windows.h>//加上Windows.h头文件
using namespace std;
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{ cout << "Hellow C++" << endl; //弹出一个消息框函数,第一个参数为副窗口一般写NULL,第二个参数是消息的内容,第三个参数是标题,第四个参数是按钮(常量) MessageBox(NULL, TEXT("Hellow C++"), TEXT("标题"), MB_OK);system("pause"); return 0;
}
3.建立Win32
动态函数创建MFC对话框
参考文档
-
文件=>新建=>工作区间
-
右击添加工程到工作空间
-
弹出了 添加工程的界面 选择
win 32
动态库 根据图片操作:
-
单击确定之后
- 工程建好了:展开头文件和源文件 目录->
- 添加头文件到项目
- 编辑头文件 这个头文件没有任何代码
WIN32WINDOWS.h
添加代码:
//----------------------------------------------------------
#ifndef MYDLL_H//确定文件唯一代码
#define MYDLL_H//确定文件唯一代码
#endif//确定文件唯一代码
//----------------------------------------------------------
- 然后在
WIN32WINDOWS.cpp
中添加实现功能:
//----------------------------------------------------------
#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{ return TRUE;
}
/----------------------------------------------------------
-
调用这个动态库 添加MFC 对话框程序到 这个工作空间
-
创建MFC对话框
-
创建对话框程序
-
-
双击确定代码
-
编辑代码
void CWIN32Dlg::OnOK()
{// TODO: Add extra validation here::MessageBox(NULL, TEXT("我好像见过你"), TEXT("MFC窗口"), MB_OK);//CDialog::OnOK();::MessageBox(NULL, TEXT("所以爱是会消失的是吗"), TEXT("是否退出"), MB_YESNO);CDialog::OnOK();
}
- 设置活动工程
- 编译运行