手动创建mfc工程(留存方便复制)
案例一、
#include <afxwin.h>
class CMyWnd : public CWnd
{
//DECLARE_DYNCREATE(CMyWnd)
public:
CMyWnd(){}
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
};
BOOL CMyWnd::PreCreateWindow(CREATESTRUCT& cs)
{
WNDCLASS wc;
BOOL bRet = ::GetClassInfo(cs.hInstance, cs.lpszClass, &wc);
if(bRet)
{
return TRUE;
}
wc.style =CS_HREDRAW | CS_VREDRAW;
wc.cbClsExtra = wc.cbWndExtra = 0;
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wc.hInstance = cs.hInstance;
wc.lpfnWndProc = AfxWndProc;
wc.lpszClassName = cs.lpszClass;
wc.lpszMenuName = NULL;
bRet = ::RegisterClass(&wc);
if(!bRet)
{
return FALSE;
}
return TRUE;
}
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance()
{
m_pMainWnd = new CMyWnd();
m_pMainWnd->CreateEx(0,_T("JXD"),_T("测试窗口程序"),WS_OVERLAPPEDWINDOW,
CRect(0,0,800,600),nullptr,0,this);
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
};
CMyApp theApp;
案例二、
.h
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow ();
protected:
afx_msg void OnPaint ();
DECLARE_MESSAGE_MAP ()
};
.cpp
#include <afxwin.h>
#include "cwd.h"
CMyApp myApp;
/////////////////////////////////////////////////////////////////////////
// CMyApp member functions
BOOL CMyApp::InitInstance ()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow (m_nCmdShow);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////
// CMainWindow message map and member functions
BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd)
ON_WM_PAINT ()
END_MESSAGE_MAP ()
CMainWindow::CMainWindow ()
{
Create (NULL, _T ("The Test Application"));
}
void CMainWindow::OnPaint ()
{
CPaintDC dc (this);
CRect rect;
GetClientRect (&rect);
dc.DrawText (_T ("Test MFC"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
手动创建mfc工程(留存方便复制)的更多相关文章
- VC++ 6.0创建MFC工程时的初级备要点(二)
在看到一个MFC工程时,可能根据上一篇文章已经知道了哪些是重要的,那些是在创建工程的时候已经被初始化的!!下面介绍一下在看代码的过程的策略!!这里假设创建的基于多对话框的MFC工程名为test ...
- (三)根据向导创建MFC工程,事件的添加和删除
一,文档视图结构 文档:它是一个类,这个类专门用来存储数据 视图:它是一个类,这个类专门用来显示和修改数据 框架类:一个容器,这个容器装了视图 健完工程之后,类视图: 运行一下: 几个比较重要的函数 ...
- 非MFC工程中使用MFC库
目录(?)[-] 需求说明 常见问题 问题分析 参考解决方法 我的解决方案 Stdafxh的原理 需求说明 C++工程的类型有很多,从VS(或VC)可以看到常见的有:Win32 Console A ...
- 手动创建VS单元测试,显示代码覆盖率
Visual Studio 号称有史以来最强大的IDE,确实如此.创建单元测试也是一键完成:在方法的代码块中右键“Create Unit Test…”,勾选测试项,填项目名,完成.VS就会自动帮你创建 ...
- c++MFC工程修改在共享DLL中使用MFC为使用标准Windows库的解决办法
由于创建MFC工程时,默认是在共享DLL中使用MFC,如果将此选项改成使用标准Windows库,会报如下错误 c:\program files\microsoft visual studio 9.0\ ...
- C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理
一.MFC概念和作用 1.全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的运行流程 ...
- Maven(十一)导入手动创建的Maven 工程
传统的导入方式并不能导入手动创建的Maven工程 因为eclipse项目必须有如图所示文件,才被认为是Eclipse工程 使用Maven方式导入 导入选项中并没有把项目复制到工作空间的选项,这是与传统 ...
- VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程
问题的提出:在工程1中用到的资源,在工程2中已有现成的.即工程1中要用到的对话框和工程2的完全相同,而工程2中对该对话框的布局已设计好.控件变量都绑定好了.但由于该对话框的控件特别多,如果在工程1中再 ...
- MFC工程的复制
MFC工程的复制 [1] 在VS中新建一个同类型的MFC工程. [2] 复制.rc资源文件,用记事本打开旧工程和新工程的.rc文件,将旧工程的对应部分复制到新工程的对应部分,文 ...
随机推荐
- [knowledge][perl][pcre][sed] sed / PCRE 语法/正则表达式
一直用sed一直没有正经的学过语法,一直一知半解的用着. 因为,它用来perl的语法,要想搞懂,首先要搞懂perl,系统的入个门... 之前,man sed,man了好多次,总是没找到关键内容,今天在 ...
- scala-泛型
//实例化之后使用get方法必须传入相同类型的参数 class A[T](x: T) { def get(x: T) { print(x) } } var a1 = new A(1) a1.get(1 ...
- CloudStack+KVM环境搭建(步骤很详细,说明ClockStack是用来管理虚拟机的)
文章目录环境准备配置本地域名解析关闭selinux安装ntp服务安装管理端安装Mysql数据库安装服务端RPM:初始化CloudStack数据库:初始化cloudstack管理服务器安装系统虚拟机安装 ...
- xca自签发证书解决chrome浏览器证书不可信问题记录
xca打开的界面 依次File, New DataBase,选择xdb文件保存路径,再输入密码 切换到Certificates页面,点击New Certificate 出现如下界面 因为要创建根证书, ...
- 【Python基础】*args,**args的详细用法
Python基础知识:*args,**args的详细用法 参考:https://blog.csdn.net/qq_29287973/article/details/78040291 *args 不定 ...
- python脚本获取文件的创建于修改日期并计算时间差
由于在计算一个算法的运行时间的时候,需要将文件的创建日期与修改日期读取到,然后计算两者之差,在网上搜索了相关的程序之后,自己又修改了一下,把代码贴在这里,供以后查阅使用,也希望可以帮到其他人. # - ...
- document数据路由
(1)document数据路由的理解:我们知道,一个index的数据会被分为多片,每片都在一个shard中,所以说,一个document,只能存在于一个shard中.当客户端创建document的时候 ...
- wordpress用Elementor拖拽生成酷炫页面
很多朋友看到wordpress网站做得很高大上,想知道是怎么做到的,其实很简单,用Elementor就能拖拽生成酷炫页面,ytkah就直接上干货了. 1.安装Elementor,到wordpress后 ...
- 计算机网络 0.初识Internet与TCP/IP协议
互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC.基于Linux的工作站,serverservers等等. 这些设备依据其作用不同可 ...
- RadioButton使用
RadioButton和CheckBox差不多,这里只写一个,因为我本身不是学andorid,所以就当给自己留一个备份,省的每次用到都需要代码敲一次,很麻烦 1.如果想选中时想改变颜色可以设置一个xm ...