在Win32 Application 环境下实现MFC窗口的创建

// Win32下MFC.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

class CMyFrameWnd:public CFrameWnd
{
//类内添加声明宏
DECLARE_MESSAGE_MAP()
public: //标准实现类内声明消息函数
afx_msg int OnCreate(LPCREATESTRUCT cs);
afx_msg void OnPaint();

/*                                  非标准的实现类内声明消息函数
//类内声明消息函数
public:
LRESULT OnCreate(WPARAM wParam,LPARAM lParam);
LRESULT OnPaint(WPARAM wParam,LPARAM lParam);
*/
};

//类外
BEGIN_MESSAGE_MAP(CMyFrameWnd,CFrameWnd)//(本类和基类)
//在BEGIN与END之间添加消息
ON_WM_CREATE()
ON_WM_PAINT()
END_MESSAGE_MAP()
                              //标准形式实现消息函数类外的定义
int CMyFrameWnd::OnCreate(LPCREATESTRUCT cs)
{
AfxMessageBox("即将创建一个窗口!");
return 0;
}
void CMyFrameWnd::OnPaint()
{
PAINTSTRUCT ps={0};
HDC hDc=::BeginPaint(this->m_hWnd,&ps);
::TextOut(hDc,200,200,"Hello",5);
::EndPaint (m_hWnd,&ps);
}

/*                            非标准的实现类外函数的定义
//在类外实现窗口创建函数功能
LRESULT CMyFrameWnd::OnCreate (WPARAM wParam,LPARAM lParam)
{
AfxMessageBox("即将创建一个窗口!");
return 0;
}
//类外实现绘图功能
LRESULT CMyFrameWnd::OnPaint (WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT cs={0};
HDC hDc=::BeginPaint(this->m_hWnd,&cs);
::TextOut(hDc,200,200,"hello",5);
::EndPaint(m_hWnd,&cs);
return 0;
}

*/

//应用程序类
class CMyWinApp:public CWinApp
{
public:
CMyWinApp();
virtual BOOL InitInstance();

};

CMyWinApp theApp;

CMyWinApp::CMyWinApp()
{

}
//重新添加虚函数功能
BOOL CMyWinApp::InitInstance()
{
CMyFrameWnd *pFrame=new CMyFrameWnd();
pFrame->Create(NULL,"MFCCmd");
m_pMainWnd=pFrame;
pFrame->ShowWindow(SW_SHOW);
pFrame->UpdateWindow();
return TRUE;
}

时间: 2024-11-10 23:28:35

在Win32 Application 环境下实现MFC窗口的创建的相关文章

【转】win32 Application和win32 Console Application

这几天在创建MFC项目时,常常遇到一下两个连接错误,例如: 1. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main解决方法: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:console改成/subsystem:windows. 2. 还有一种经常出现的相反的情况 LIBCD.lib(win

Windows环境下vs2015+opencv3.1+contrib库安装配置

最近几天在安装opencv,也看了网上的一些帖子,结合自己遇到的一些问题写了点内容. 准备: 1. opencv最新的版本是3.10,可以到官网下载http://opencv.org/.官网下载提取后会得到两个文件夹:build和sources.我们需要用到的是sources,用CMake重新编译sources里的内容,再添加contrib库.build里的内容是官网已经编译好的,有其他博客是讲利用build安装的,而这里我们并未用到.opencv也可从GitHub下载https://githu

win32 Application 和Win32 Console Application 的区别

Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序.  其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的.不规则形状的-- 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制.  而Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令

CentOS 7环境下Kafka的安装和基本使用

CentOS 7环境下Kafka的安装和基本使用 基础环境 Windows 10 X64 VMware-workstation-full-12.0.0-2985596 CentOS Linux release 7.4.1708 CentOS 7环境下安装Kafka 安装JDK 在CentOS上将JDK下载到本地.jdk-8u152-linux-x64.tar.gz 解压并将文件移动到/opt/java目录下 sudo tar -vxzf jdk-8u152-linux-x64.tar.gzsud

Win32环境下代码注入与API钩子的实现(转)

本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在VS下编写和调试Win32应用程序和动态链接库(以下简称DLL). API钩子是一种高级编程技巧,常常用来完成一些特别的功能,比如词典软件的屏幕取词,游戏修改软件的数据修改等.当然,此技术更多的是被黑客或是病毒用来攻击其它程序,截获需要的数据或改变目标程序的行为.本文不探讨此技术的应用,只讲实现.同时希望掌握此技术的人都能够合法的应用它,不要去

VS2010 C++环境下DLL和LIB文件目录及名称修改

DLL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置: 1.配置属性-常规-目标文件名 $(ProjectName) 加d 2.配置属性-连接器-常规-输出问件 由 加d 3.配置属性-连接器-高级-导入库,设置文件名$(OutDir)$ProjectName)d.lib 4.如果有导出文件,.def文件中也一定要修改导出库的名字 LIBRARY      "BaseTool" 变为

在MFC 窗口中运行 cocos2d-x 3.2 (一) 基本配置

软件平台 Visual Studio 2012 , Cocos2d-x 3.2 步骤 1. 首先用VS2012创建 MFC 对话框应用程序.(选项默认即可) 2. 在命令行 创建一个Cocos2dx 项目 3.把Cocos2dx 项目中的 cocos2d , Classes, Resources 三个目录复制到第一步所创建MFC项目.vcxproj 文件所在目录下 4.打开MFC项目的 属性管理器 (可以在 工具栏->视图->属性管理器 打开),在Debug|Win32 下 新建属性表  Co

VC++环境下多文档模板应用程序开发(带源码)

我们以前见到的关于VC++环境下利用APP Wizard 自动生成的MDI的应用程序只支持打开同一文档类型的多个文件,但是不能够同时打开不同种类型的文档.网上的这种公开资料比较少,我在知网上查阅了相关的资料.下面我根据这些资料做一下总结(辛辛苦苦一个一个字码出来的). 下面设计一个能够处理两种文档类型的应用程序:第一种文档类型:TXT文档,第二种文档类型:Bub的文档类型. 第一种的文档类型TXT,是利用APP Wizard自动生成的,只不过是在设置的时候将文档类型设置为TXT类型,并且使生成的

windows 环境下go安装与环境配置

首先访问 http://golangtc.com/download 下载go 安装包和liteide 这里我们选择go1.5.1.windows-amd64.msi和liteidex28.windows-qt4.zip 安装go 程序包 直接双击go1.5.1.windows-amd64.msi将安装地址改为d:\go liteide 也解压到d盘 双击运行leteide 选择 查看-编辑当前环境修改#GOROOT=E:\gowork CTRL+S保存 修改系统环境变量 在系统环境变量中加入 G