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 ...
随机推荐
- 48.Query DSL
主要知识点 1.Query DSL的理解及基本语法 2.如何组合多个搜索条件 bool 一.Query DSL的理解 Query DSL的查询形式如下: GET /_search { &quo ...
- HRBUST 1214 方格取数
方格取数 Time Limit: 1000ms Memory Limit: 65535KB This problem will be judged on HRBUST. Original ID: 12 ...
- JVM常用参数(内存分配 内存回收日志)
内存监控 -verbose:gc 测试代码 public static void main(String[] args){ List<Classes> classes=new Array ...
- java中类的路径为什么这么长
- 百度2016研发project师笔试题(四)
百度2016研发project师笔试题(四) 2015/12/8 10:42(网上收集整理的,參考答案在后面.若有错误请大神指出) 1. 关于MapReduce的描写叙述错误的是() A. 一个Tas ...
- @RequiresPermissions 注解说明
@RequiresAuthentication验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时.@RequiresUser验证用户是否被记忆,user有 ...
- spring中abstract bean的使用方法
什么是abstract bean?简单来说.就是在java中的继承时候,所要用到的父类. 案例文件结构: 当中Person类为父类.Student类为子类,其详细类为: package com.tes ...
- android中图型的阴影效果(shadow-effect-with-custom-shapes)
思路: 在自己定义shape中添加一层或多层,并错开.就可以显示阴影效果.为添加立体感,button按下的时候,仅仅设置一层.我们能够通过top, bottom, right 和 left 四个參数来 ...
- YII用户注冊和用户登录(三)之模型中规则制定和分析
3 模型中规则制定和分析 YII模型主要分为两类,一个数据模型,处理和数据库相关的增删改查.继承CActiveRecord.还有一个是表单模型,继承CFormModel.不与数据库进行交互.操作与数据 ...
- 一张游览PHP内核迷宫的藏宝图
PHP内核就像一个迷宫,假设没有一个纵览全局的图,仅仅是面对当中的一个点,就会像进了迷宫一样,走着走着就走到了死胡同.在这个迷宫里转悠了非常久之后,近期得到了一张PHP藏宝图.然后看着这张图去游览PH ...