如何做一个简单的MFC程序

如何做一个简单的MFC程序,第1张

给你个最最简单的MFC程序。你可以打开2005

新建win32

程序

建立空项目

然后编写如下代码//hello.cpp

#include

<afxwin.h>

//

说明应用程序

class

CHelloApp

:

public

CWinApp

{

 

public:

 virtual

BOOL

InitInstance()

}

//

建立应用程序类的实例

CHelloApp

HelloApp

//

说明主窗口类

class

CHelloWindow

:

public

CFrameWnd

{

CStatic*

cs

public:

CHelloWindow()

}

//

每当应用程序首次执行时都要调用的初始化函数

BOOL

CHelloApp::InitInstance()

{

m_pMainWnd

=

new

CHelloWindow()

m_pMainWnd->ShowWindow(m_nCmdShow)

m_pMainWnd->UpdateWindow()

return

TRUE

}

//

窗口类的构造函数

CHelloWindow::CHelloWindow()

{

//

建立窗口本身

Create(NULL,

 

"Hello

World!",

 

WS_OVERLAPPEDWINDOW,

 

CRect(0,0,200,200))

//

建立静态标签

cs

=

new

CStatic()

cs->Create("hello

world",

 

WS_CHILD|WS_VISIBLE|SS_CENTER,

 

CRect(50,80,150,150),

 

this)

}

这样就出来了。

http://www.xici.net/b304234/d17269213.htm

你可以看这篇文章,非常好的入门文章

第一部分:MFC导论

Visual C++ 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专业级的 Windows 应用程序。为了能充分利用这些特性,你必须理解 C++ 程序设计语言。掌握了C++,你就必须掌握 Microsoft 基本类库 (MFC) 的层次结构。该层次 结构包容了 Windows API 中的用户界面部分,并使你能够很容易地以面向对象的方式建立 Windows 应用程序。这种层次结构适用于所有版本的 Windows 并彼此兼容。你用 MFC 所建立的代码是完全可移植的。

该教程将向你介绍MFC的基本概念和术语以及事件驱动程序设计方法。在本节中,你将会输入、编译和运行一个简单的MFC程序。下一节中将向你详细解释这些代码。第三部分讨论了MFC控制和如何定制它们。第四部分将介绍消息映射,你将会处理MFC的事件。

什么是MFC?

如果你要建立一个 Windows 应用程序,应该如何下手?

好的开端是从设计用户界面开始。首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象。Windows 用户界面有一些标准的控制,如按钮、菜单、滚动条和列表等,这对那些 Windows 用户已经是很熟悉了。 要记住的是,作为程序员必须选择一组控制并决定如何把它们安排到屏幕上。传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止。这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的。

下一步,是要实现代码。为任何 Windows 平台建立应用程序时,程序员都有两种选择:C 或 C++。 使用 C,程序员是在 Windows 应用程序界面 ( API ) 的水平上编写代码。该界面是由几百个 C 函数所组成,这些函数在Windows API 参考手册中都有介绍。对于Windows NT, API 被称为 “Win32 API”,以区别于其用于Windows 3.1的16位 API。

Microsoft 也提供了 C++ 库,它位于任何 Windows API 之上,能够使程序员的工作更容易。它就是Microsoft基本类库 (MFC),该库的主要优点是效率高。它减少了大量在建立 Windows 程序时必须编写的代码。同时它还提供了所有一般 C++ 编程的优点,例如继承和封装。MFC 是可移植的,例如,在 Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。因此,MFC 很值得推荐的开发Windows 应用程序的方法,在本教程自始至终使用的都是 MFC。

但是使用 MFC 时,你编写的代码是用来建立必要的用户界面控制并定制其外观。同时你还要编写用来响应用户 *** 作这些控制的代码。例如,如果用户单击一个按钮时,你应该有代码来响应。这就是事件驱动代码,它构成了所有应用程序。一旦应用程序正确的响应了所有允许的控制,它的任务也就完成了。

你可以看出,使用 MFC 进行 Windows 编程时是一件比较容易的的过程。本教程的目的是比较详细地教你如何快速建立专业级的应用程序的技术。Visual C++ 应用程序开发程序环境特别适合于使用 MFC (也有其它开发环境使用MFC,译者注),所以一起学习 MFC 和 Visual C++ 能够增强你的开发程序的能力。

mfc类库详解中文版,

示例:

CTreeCtrl

CObject

└CCmdTarget

└CWnd

└CTreeCtrl

一个“tree view 控件”是一个用来显示项的层次列表的窗口,比如一个文档中的标题,索引中的项,或磁盘中的文件和目录。每一个项都包括一个标签和一个可选的位图图像,每一个项还有一个与其相关的子项的列表。单击一个项,用户可以展开或缩进该项的相关子项的列表。

CTreeCtrl类提供了Windows通用tree view控件的性能。这个控件(也就是CTreeCtrl类)只对运行在Windows 95和Windows NT 3.51或更高版本下的程序来说是可用的。

有关使用CTreeCtrl的更多信息,参见“Visual C++程序员指南”中的“控件主题”和“使用CTreeCtrl”。

#include <afxcmn.h>

请参阅:CImageList

CTreeCtrl类成员

构造 CTreeCtrl 构造一个CTreeCtrl对象

Create 创建一个tree view控件并将它与一个CTreeCtrl对象连接

属性 GetCount 获取与一个treeview控件相关联的tree项的数目

GetIndent 获取一个tree view项对它的父项的偏移(以像素表示)

SetIndent 设置一个tree view项对它的父项的偏移(以像素表示)

GetImageList 获取与一个tree view控件相关联的图像列表的句柄

SetImageList 设置与一个tree view控件相关联的图像列表的句柄

GetNextItem 获取与指定的关系匹配的下一个tree view项

ItemHasChildren 如果指定项有子项则返回非零值

GetChildItem 获取一个指定tree view项的子项

GetNextSiblingItem 获取指定tree view项的下一个兄弟项

GetPrevSiblingItem 获取指定tree view项的前一个兄弟项

GetParentItem 获取指定tree view项的父项

GetFirstVisibleItem 获取指定tree view项的第一个可视项

GetNextVisibleItem 获取指定tree view项的下一个可视项

GetPrevVisibleItem 获取指定tree view项的前一个可视项

GetSelectedItem 获取当前被选择的tree view项

GetDropHilightItem 获取一次拖放 *** 作的目标

GetRootItem 获取指定tree view项的根

GetItem 获取一个指定tree view项的属性

SetItem 设置一个指定tree view项的属性

GetItemState 返回一个项的状态

SetItemState 设置一个项的状态

GetItemImage 获取与一个项相关联的图像

SetItemImage 设置与一个项相关联的图像

GetItemText 返回一个项的文本

SetItemText 设置一个项的文本

GetItemData 返回与一个项关联的32位的应用程序指定值

SetItemData 设置与一个项关联的32位的应用程序指定值

GetItemRect 获取一个tree view项的边界矩形

GetEditControl 获取用来编辑指定tree view项的编辑控件的句柄

GetVisibleCount 获取与一个tree view项关联的可视tree项的编号

GetToolTips 获取一个tree view控件使用的子ToolTip控件的的句柄

SetToolTips 设置一个tree view控件的子ToolTip控件的的句柄

GetBkColor 获取控件的当前背景颜色

SetBkColor 设置控件的背景颜色

GetItemHeight 获取tree view项的当前高度

SetItemHeight 设置tree view项的当前高度

GetTextColor 获取控件的当前文本颜色

SetTextColor 设置控件的文本颜色

SetInsertMark 设置一个tree view控件的插入标记

GetCheck 获取一个tree控件项的核选状态

SetCheck 设置一个tree控件项的核选状态

GetInsertMarkColor 获取tree view用来绘制插入标记的颜色

SetInsertMarkColor 设置tree view用来绘制插入标记的颜色

*** 作 InsertItem 在一个tree view控件中插入一个新项。

DeleteItem 从一个tree view控件中删除一个项

DeleteAllItems 从一个tree view控件中删除所有的项

Expand 展开或收缩指定tree view项的子项

Select 选择,在视中滚动,或重画一个指定的tree view项

SelectItem 选择一个指定的tree view项

SelectDropTarget 重画作为一次拖放 *** 作的目标的tree项

SelectSetFirstVisible 选择一个指定的tree view项作为第一个可视项

EditLabel 现场编辑一个指定的tree view项

HitTest 返回与CtreeCtrl关联的光标的当前位置

CreateDragImage 为指定的tree view项创建一个拖动位图

SortChildren 排序一个给定父项的子项

EnsureVisible 确保一个tree view项在它的tree view控件中是可视的

SortChildrenCB 使用一个由应用程序定义的排序函数来排列一个给定父项的子项


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11755520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存