vc++如何创建窗口
创建一个mfc工程,AppWizard可以用来增加和选择一些特性

可以发现一共有五个类,每一个类都有一个基类,都是mfc基础类库中的类

例如将一个类拷贝一下,将CFrameWnd到msdn中查找一下,MSDN(Microsoft Developer Network)是早期微软在推广Win32 程序设计以及开发工具时,专门为开发人员所提供的一个服务,是使用微软技术开发软件或应用程序时必定会参访的地方,同时它也有提供订阅的服务

例如cwinapp


理解mfc脉络,每一种不同的窗口类
创建窗口:createwindow类

理清关系。 例如演示Cwind类如何与窗口联系起来的


class CWnd
{
public:
bool CreateEx(DWORD dwExStyle)
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HWND hMenu,
HINSTAMCE hInstance,
LPUOIO IpParan);
BOOL ShowWindow(int nCndShow);
BOOL UpdateWindow();
//定义一个句柄的成员变量
public:
HWND n_hWnd;
};
//完成三个函数,返回值 类名::作用于标识符 ,
BOOL CWnd::CreateEx(DWORD dwExStyle)
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HWND hMenu,
HINSTAMCE hInstance,
LPUOIO IpParan);
//完成一个创建窗口的过程,利用win32提供的api函数成员变量保护
{
m_hWnd=::CreateWindowEx(dwExst,lpClassName,dwStyle,dwStyly,x,y,
nWidth,nHeight,hWndParent,HWenu,hInstance,Iparam);
//表示全局函数可以加一个::
BOOL ShowWindow(int nCndShow);
BOOL UpdateWindow();
if(n_hWnd!=NULL)
return TRUE;
else
return FALSE;
}
bool CWnd::ShowWindow(int nCmdShow)
{
return ::ShowWindow(m_hWnd,nCndShow);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
//只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
//当调用createEx函数时,表示函数已经传过来了,可以直接返回
}
bool CWnd::UpdateWindow(int nCmdShow)
{
return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
//只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
//当调用createEx函数时,表示函数已经传过来了,可以直接返回
}
bool CWnd::UpdateWindow(int nCmdShow)
{
return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
//只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
//当调用createEx函数时,表示函数已经传过来了,可以直接返回
}
//可以粘贴代码过来
int WINPI WinHain(
HINSTAMCE hInstance,
HINSTAMCE hPreVInstance,
LPSTR IpCmdLine,
int nCmdShow
)
{
WNDCLASS undels;
undels.cbWndExtra=0;
undels.cbClsExtra=0;
....
//注册
RegisterClass(&wndcls);
//产生窗口,宽度,高度
CWnd wnd;
wnd.CreateEx(...);
//显示窗口
wnd.ShowWindow(SW_SHOWHORHAL);
//更新窗口
wnd.UpdateWindow();
//循环。。。。
//保存句柄
HWND hwnd;
hwnd=CreateWindowEx();
.....
}
vc++如何创建窗口的更多相关文章
- MFC程序的启动过程——先全局对象theApp(第一入口),后WinMain(真正入口),会引爆pApp->InitInstance从而创建窗口(程序员入口)
原文出自:http://blog.csdn.net/yuvmen/article/details/5877271 了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助:对于不常用VC的人来说 ...
- SDL初始化和创建窗口
//初始化SDL2和创建一个窗口,并且将屏幕绘制成大红色 #include <iostream> extern "C" { #include <SDL.h> ...
- MFC在子线程中创建窗口(PostMessage方法)
1.创建子线程 C++创建线程的方式比较多 1)最简单易用的<thread>头文件,但是这种方法创建的子线程中无法给主线程PostMessage消息(也可能是我操作有误,总之没成功) 2) ...
- Duilib创建窗口双击标题栏禁止窗口最大化
使用Duilib创建窗口并禁止窗口最大化 第一步: XXXFrame.Create(NULL, _T("XXXFrame"), UI_WNDSTYLE_EX_FRAME, WS_E ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...
- MFC应用程序创建窗口的过程 good
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该 ...
- windows程序设计读书笔记1——创建窗口
第一个win32程序,简单的创建窗口: #include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ...
- 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布
内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...
- Example003通过按钮创建窗口
<!--实例003通过按钮创建窗口--> <head> <meta charset="UTF-8"> </head> <for ...
随机推荐
- C#学习笔记_06_方法&函数
06_方法&函数 方法的定义 方法就是一个功能的集合,可以把程序中某段具有特殊功能的代码提取出来: 声明方法 [ 访问权限修饰符 ] [ 其他的修饰符 ] 返回值类型 方法名 ( [形参列表] ...
- 3.在eclipse中创建Web项目,并部署到Tomcat上
1.找到创建web项目的菜单 2.创建web项目并选择web环境 3.查看创建好的web项目结构 4.在web项目的webContent文件夹下创建jsp页面 5.查看是否创建jsp页面成功,并编辑j ...
- .net 单元测试
都说测试驱动开发,但是想写好单元测试其实不容易,不是因为测试用例难以构造,而是因为很多时候方法非常复杂 其中部分测试想要完成就十分费力,其中让人崩溃的地方主要如下: 实例私有函数 实例静态私有函数 十 ...
- 痛苦的Windows下的temp目录
2007不能运行了,错误: [MSBuild Error] “DCC”任务意外失败. System.Configuration.ConfigurationErrorsException: 配置系统未能 ...
- 0613pt-query-digest分析慢查询日志
转自http://www.jb51.net/article/107698.htm 这篇文章主要介绍了关于MySQL慢查询之pt-query-digest分析慢查询日志的相关资料,文中介绍的非常详细,对 ...
- BA-WG-冷源
冷源群控系统最好由冷源厂家来做的理由 1.冷机厂家对空调的参数十分的清楚,明确的知道冷机的负荷曲线,可以优化冷机加减载的最合理时间达到最佳的节能效果 2.独立的CSM硬件模块,内置不同冷机的型号特性, ...
- MEAN框架学习笔记
MEAN框架学习笔记 MEAN开发框架的资料非常少.基本的资料还是来自于learn.mean.io站点上的介绍. 于是抱着一种零基础学习的心态,在了解的过程中,通过翻译加上理解将MEAN框架一点点消化 ...
- [Javascript] Highlights from IO18 Javascript new features
Latest Javascript features, not supported by all broswers, but can use with babel. # try-catch-final ...
- arm32位固定指令中怎么容纳32位变量
在ARM指令集汇编码中.32位有效马上数是通过______偶数位而间接得到的 A.循环左移 B.循环右移. C.逻辑左移. D.逻辑右移 答案为循环左移.为什么?还有最好解释一下逻辑移动和循环移动的概 ...
- 关于BeanShell报错提示Error invoking bsh method
背景:因测试需要打算从外部引用.java和.class文件,奈何报错挥之不去:Error invoking bsh method: eval...... 各种百度取经之后,决定先抛弃引用,试试Bean ...