一个Demo初识MFC

如何通过完全代码的形式来建立窗口?下面是一个简单的程序。

新建Win32控制台空项目

设置项目属性如下:

添加文件 编写代码

头文件 TestAll.h

class CMyApp:public CWinApp
{
	public:
		virtual BOOL InitInstance();//虚函数
};

class CMainWindow:public CFrameWnd
{
	public:
		CMainWindow();
	protected:
		afx_msg void OnPaint();
		DECLARE_MESSAGE_MAP();//声明消息映射
};

源文件 TestAll.cpp

// TestAll.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include <afxwin.h>
#include "TestAll.h"

CMyApp myApp;

BOOL CMyApp::InitInstance()
{
	 m_pMainWnd = new CMainWindow;

	 m_pMainWnd->ShowWindow(m_nCmdShow);
	 m_pMainWnd->UpdateWindow();
	 return TRUE;
}

BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
	ON_WM_PAINT()
END_MESSAGE_MAP()       //消息映射

CMainWindow::CMainWindow() //构造函数初始化
{
    Create(NULL,_T("我的第一个MFC应用程序"));//创建窗体
}

void CMainWindow::OnPaint()
{
	CPaintDC dc(this);
	CRect rect;
	GetClientRect(&rect);
	dc.DrawText(_T("Hello MFC"),-1,&rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}

运行结果

代码解析见下一篇——《从Windows API 到 MFC浅谈》

时间: 2024-07-29 11:47:52

一个Demo初识MFC的相关文章

初识nginx之第一个demo

商城项目做了一个多月了,想到必须用到负载均衡,简单了解了一下nginx,首先分享第一个demo,五月份上线后,会继续分享一系列相关知识. 在nginx根目录下,用了一个园友的批处理文件nginx.bat,用于启动和关闭nginx服务.需要nginx1.9.3的园友尽管留下邮箱,带批处理文件的压缩包会及时分享给你的. 我分别在ip为xxx和xxx的服务器下部署了三个站点,第一台服务器用了8040(site1),8041端口(site2),  第二台服务器用了8043(site3)端口,,负载均衡服

初识Web Service与第一个Demo实战

Web Service并不是什么神秘的东西,好多时候我们一听服务就感觉好遥远,当时我也是这样的,一听说机房的服务器就感觉很高大上.后来就发现不就是一台电脑吗.我们可以简单理解为它是一个可以远程调用的类,或者说是组件. 把你本地的功能开放出去共别人调用.不能光听我的大白话,下面来看看具体的内部是如何实现的呢? WebService的主要目标是跨平台的可互操作性.完全基于XML(可扩展标记语言),XSD(XMLSchema)等独立于平台.独立于于软件供应商的标准,是创建可互操作的.分布式应用软件的新

Flask---使用Bootstrap新建第一个demo

Flask---使用Bootstrap新建第一个demo 参考自http://www.jianshu.com/p/417bcbad82fb 还有<Flask web开发> 前端用到Bootstrap开源框架,Bootstrap是客户端框架,后台当然就是Flask了. 服务器需要做的只是提供引用了Bootstrap层叠样式表(CSS)和JS文件的html响应,并且在html.css和js代码中实例化需要的组件,这些操作的最理想的执行环境就是模板 关于模板的介绍及其实现原理:https://kb.

Node.js 的第一个 demo 和本地服务器配置

安装nodejs这里就不叙述了,直接上nodejs官网下载就好了,初学者建议直接下载安装版,无需自己去编译.nodejs安装版和安装其他软件一样,无门槛. 安装nodejs后启动node.js,会打开一个类似黑色的系统命令框,这里是直接输入js代码的命令框,因此在这里输入 node -v 会提示你没有 node 这个命令,如: 如果你想安装其他的包,如 express 等,就需要在开始菜单里面找到 Node.js command prompt 或者 直接运行 cmd 进入命令行. 进入命令行后,

Java学习 (一)、下载,配置环境变量,第一个demo

一.在 http://www.oracle.com 下载java JDK 安装到自定义的地方. 二.配置环境变量:在我的电脑→高级系统设置→环境变量 ① 找到Path新增一个路径(该路径为JDK存放的位置的bin,比如我放在D:\J2EE\JDK1.8.0\bin 下),两个路径之间要加分号隔开 ② 为了防止路径改变,可以新增一个变量,变量名自定义,变量值为JDK存放路径. 然后在Path 下新增一个路径为 %JAVA_HOME%\bin  即可. 保存后 运行(win+R) cmd 键入jav

如何看eclipse中的崩溃信息?用一个demo教会你

我相信很多android初学者用刚开始都是用的Eclipse开发工具,并且很多初级书籍也不会教大家怎么去看崩溃日志,虽然不难,但是靠自己琢磨还是挺浪费时间的,我们就写一个Demo来看看吧! 注释掉一行代码,让程序崩溃 注释掉创建ViewHolder对象的代码,让程序崩溃. MainActivity中展示一个ListView 这个Demo很简单,就是在MainActivity中展示一个ListView,<第一行代码>中的例子. 现在我们注释掉了创建ViewHolder对象的代码,连上手机,运行程

Android中Service的一个Demo例子

Android中Service的一个Demo例子  Service组件是Android系统重要的一部分,网上看了代码,很简单,但要想熟练使用还是需要Coding.  本文,主要贴代码,不对Service做过多讲解.  代码是从网上找的一个例子,Copy下来发现代码不完全正确,稍微修改了下.  AndroidManifest.xml <application android:icon="@drawable/ic_launcher" android:label="@stri

一个重绘MFC的文件传输客户端

 一个重绘MFC的文件传输客户端,TCP/IP协议的文件传输客户端(支持上传.下载.续传.管理等功能,本处只选择了上传功能),从用户视觉上看,肯定比原生MFC界面要有感觉,啥也不说了,直接上图. 这个客户端界面,是从过浏览器通过ActiveX控件机制激活的,并且把文件传输任务传递给客户端的. (初始界面) (配置窗口) (锁屏对话框) (传输设置,还有很多配置,本次被省略了) (正在上传,右键菜单灵活多变) (上传完成) (回收站) 一个重绘MFC的文件传输客户端,布布扣,bubuko.co

使用android的mediaplayer做成 一个demo,欢迎测试使用

附件是为一个定制视频产品而简单的写了一个demo,用来说明android的mediaplayer是如何使用的. http://files.cnblogs.com/guobaPlayer/palyerDemo3D.apk 欢迎下载测试. 完全采用androd的mediaplayer播放器api函数而编写. 锅巴视频工作室-----专业的移动设备视频客户端方案提供者 锅巴视频工作室,专注于android视频相关,蓝牙,wifi等软硬件项目的方案开发工作,欢迎联系:qq1852600324" 使用an