搜档网
当前位置:搜档网 › MFC各种控件属性介绍

MFC各种控件属性介绍

MFC各种控件属性介绍
MFC各种控件属性介绍

VC++6.0控件工具箱:

2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)

3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。

4 编辑框(Edit Box):用来接收用户输入的字符串。通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。MFC提供了CEdit类支持编辑框控件。

5 组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。

6 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。MFC提供了CButton类支持按钮控件。

7 复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。在选项被选中的时候核选标记出现,选项被取消时核选标记消失。MFC中由C Button类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。

8 单选按钮(Radio Button):用来选择某种可能的选择,与核选框不同,该选项不是独立的。一般是几个单选按钮组成一组,同组中的单选按钮可以有也只能有一个按钮被选中。M FC同样使用CButton类对单选按钮控件进行支持,SetCheck()函数和GetCheck()函数对单选按钮也是适用的。

9 组合框(Combo Box):列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选择。MFC提供了CComboBox类对组合框控件进行支持。

10 列表框(List Box):用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。MFC提供了CListBox类对列表框控件进行支持。

11、12 滚动条(Scroll Bar):这包括水平滚动条和垂直滚动条,除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM _VSCROLL消息。MFC提供了CScrollBar进行支持。

13 微调按钮(Spin Button):包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框。当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小。MFC提供了CPinB uttonCtrl类进行支持。

14 进度条(Progress):在进行一项需要占有较长时间的操作时来反应当前的进度。当操作的进度不断前进时,进度条就用特色颜色填充进度条框。用户可以设定进度条的范围和当前位置。MFC提供了CProgressCtrl类进行支持。

15 滑块控件(Slider):通常用来在程序中接受一系列离散的数值。用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。MFC提供了CSliderCt rl类进行支持。

16 热键控制(Hot Key):热键控件看起来就像一个编辑框,但是在热键控件中能够立刻反应用户刚刚按下的键组合,这在设置程序的热键时特别有用。热键控件只是在“视觉”上显示了按键组合,设置热键的工作还需要用户添加代码完成。MFC提供了CHotKey类进行支持。

17 列表控制(List Control):按一定的排列顺序显示一系列带图标的字符串,列表控件提供了四种显示模式:大图标、小图标、列表和详细信息。用户可以向列表控件中添加新的项,也可以控制列表控件的显示模式。MFC提供了CListCtrl类进行支持。

18 树形控件(Tree Control):用来显示一系列项目的层次关系,最典型的例子是显示磁盘上的文件与文件夹。如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目。MFC提供了CTreeCtrl类进行支持。

19 属性表控件(Tab Control):用来包含大量的控件,可以满足用户显示或者获取大量数据的要求。每个属性表又分为好几个属性页,这些属性页由各自的标签进行区分,这些属性页中都可以包容其他控件。在显示属性表的时候,一次只能够显示一个属性页的全部内容,同时显示其他属性页的标签,用户通过单击标签打开相应的属性页。MFC提供了CTabCtrl 类进行支持。

20 动画控件(Animation):用来播放一段AVI格式的视频剪辑。用户可以控制视频剪辑的播放、停止和定位,但也仅限于这些功能。动画控件设置不能播放音频剪辑,如果用户需要更高层次的视频或者音频的支持,请选用MCIWnd控件。MFC提供了CAnimateCtrl类对动画控件进行支持。

21 高级编辑框(Rich Edit):编辑控件功能的扩展。在高级编辑框中,除了简单的输入和编辑字符串外,用户还可以为字符或段落指定特定的格式,用户甚至还可以向高级编辑框中插入OLE项。高级编辑框基本上实现了一个带格式的文本编辑器功能,而只需要用户添加少量的接口。MFC提供了CRichEditCtrl类进行支持。

22 日历控件(Month Calender):看似与真正的日历类似,操作也类似,直观的为用户提供了观察和显示当前日期的途径。MFC提供了CMonthCalCtrl类进行支持。

23 日期/时间选择器(Date Time Picker):向用户提供了一种直观的选择日期和时间的方法、日期/时间选择器在外观上类似于一个组合框,但是当用户单击下拉箭头时就会展开一

个日历控件供用户选择,而一旦用户做出了选择,日期/时间选择器会自动显示新的日期/时间。MFC提供了CDateTimeCtrl类进行支持。

24 IP地址控件(IP Adress):IP地址控件用来输入和编辑IP地址。该控件外观类似于一个编辑框,但是可以自动对输入的字符按3个一组进行区分和加间隔圆点。IP地址控件为开发支持Internet技术的程序提供了方便。MFC提供了CIPAddressCtrl类进行支持。

26 扩展组合框(Extended Combo Box):在普通组合框的基础上还支持图像列表。即,可以在组合框中显示特定的图标表示相应的选择,而不仅仅是显示文本。MFC提供了CComboB oxEx类进行支持。

所有控件的公共属性:

ID:控件的资源标识。

Visiable:控件是否可见。

Disabled:控件是否被禁止、被禁止的控件无法接受键盘和鼠标输入。

Group:是否从这个空间开始一个新组。

Tab stop:在程序中是否可以用【Tab】键切换到这个控件。

Help ID:是否给控件分配一个帮助标识,帮助标识基于控件本身的资源标识。

Client edge:给控件增加一个凹陷的边界,使整个控件看起来像是凹下去的一样。

Static edge:给控件增加一个边界。

Modal frame:给控件增加一个3维的框架,与Client edge相反,它是凸出来的。Transparent:拥有此属性的窗口是透明的,它下面的窗口不会被它遮掩住。

Accept files:拥有此属性的窗口可以接收拖放文件,如果一个文件被拖动到这个控件上面,控件会收到WM_DROPFILES消息。

No parent notify:表示控件不向其父窗口发送WM_PARENTNOTIFY消息。

Right aligned text:表示文本右对齐。

以上属性可通过控件的属性对话框进行设置,在属性对话框中按【F1】键可以查看属性的帮助信息。

每一种控件都由一个MFC控件类来管理,当通过资源编辑器在对话框上添加一个控件时,v isualC++会自动为控件类生成一个实例,即对象,并调用构造函数,当对话框关闭时,其各个子控件对象被自动销毁。

也可以不使用资源编辑器,自己在程序中写代码创建、显示控件并设置控件的属性。

所有的控件类都继承自CWnd,控件的某些操作和属性设置需要用到CWnd本身的成员函数,CWnd某些函数经常用来操纵控件和设置控件属性。

SetWindowText:设置控件上要显示的标题文本,即用来设置控件的caption属性GetWindowText:得到控件的标题文本

EnableWindow:设置控件的Disabled属性,即社会自控件是否可以接收键盘和鼠标的输入

SetWindowPos:改变窗口的大小、位置和Z轴次序。

MoveWindow:改变窗口的大小和位置

GetWindowRec:得到窗口的大小、位置(信息存放在一个矩形结构中)。GetClientRect:得到窗口客户区的大小(信息存放在一个矩形结构中)ShowWindow:设置窗口的可见性(即窗口是否可见)

SetWindowText/GetWindowText还可以用来设置/得到对话框的标题文本。

mfc资料

你创建的是一个对话框程序,所以只有CMyApp 和CMyDlg 两个类。 但如果创建的是个单文档或者多文档程序。那么就有5个类。 程序是按顺序执行的,虽然都被封装成了类对象,看起来模块话,其实还是按顺序执行的,APP这个对象那个先于dlg构建。所以很多需要初始化的东西直接在App的成员initInstance 中编写。dlg中编写的基本都是一些与对话框相关的逻辑。 CMyApp是主线程类。他的InitInstance函数中会用CMyDlg构造一个对象,产生主对话框,CMyDlg是对话框类的一个派生类。两个类功能不同。 MFC的东西很复杂,不是三言两语可以说清楚的,可以参考下深入浅出mfc等书。CMyApp负责程序主框架的工作,可以理解为WinMain的封装。 CMyDlg是主对话框了,负责界面显示,消息循环等。 ------解决方案-------------------- CMyApp派生于CWinApp类,CMyDlg派生于CDialog类 程序运行时先执行CMyApp的InitInstance()函数 在InitInstance()中会有这样的代码 CMyDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); 一个最基本的单文档视图的MFC程序,包含CxxApp、CxxDoc、CMainFrame、CxxView和CAboutDlg五个类。 它们在程序开始运行时被创建的顺序是:CxxApp 、CxxDoc 、CMainFrame 、CxxView 、CAboutDlg 。

C**App()定义了窗体加载之前需要做的预处理。比如一个加密的软件,打 开后提示用户输入密码。这个事件的处理程序就要写在C**App()的 InitInstance(中。 CMainFrame()包含了对工具栏、状态栏、窗口的定义。 C**View包含了最主要的处理功能,如菜单操作、快捷键、用户交互操作等。 CAboutDlg定义了ABOUT对话框。 其中,前四个都是在程序主窗口出现之前被创建的,CAboutDlg是在“关于”对话框弹出 时被创建的 1CAboutDlg //这个是关于对话框里面是构造和析构2CMainFrame //主框架`是在窗口生成之前准备工作全在这吗 ?3CTestApp//这个是什么`initlnstance()在这里也是初始化什 么对象 ? 4CTestDoc//这是文档`是管理哪些文档`对初学者来说很少用 呐 ?5CTestView视图`这个常用 OnDraw我了解一些`我想知道`是不是默认就调 用一次 ? 还有个问题啊`我想加个音乐`虽然加成功了`但是`我一直不明白加在哪个函数里 `运行就有音乐?看过孙鑫的教程后来忘了`各位高手各抒已见,互相学习 LZ需要系统地学习一下。 CTestApp是基于WinApp的,WinApp封装了程序的主入口WinMain,WinMain就和c语言的main函数地位一样,是Win32程序的入口。在MFC的封装中,一个程序启动,Windows调用WinMain,这个WinMain函数现在由MFC事先写好藏好了,你不能也不需要修改,在这个预定义的WinMain里面会调用CWinApp的InitInstrance函数。你仔细看你CTestApp::InitInstrance函数,在这里一个CMainFrame的对象被创建,文档模板被创建,主窗口通过ShowWindow(SW_SHOW)被显示出来。 CMainFrame是个框架,是你整个应用程序的主窗口,他负责管理应用程序的菜单,工具栏,状态栏等。中间的区域,成为客户区,由View类来管理,View类也是一个窗口,他是MainFrame的子窗口。OnDraw函数负责绘制客户区的内容,该函数会被多次调用,他可以被你自己调用,比如你调用View类的UpdateWindow,或者在Document类中调用UpdateAllViews等等,MFC自动会调用OnDraw。他还会被Windows调用,Windows在需要刷新窗口的时候发送给窗口WM_PAINT消息,MFC事先已经预定义了,在响应WM_PAINT消息的时候会调用OnDraw。何时Windows会发送WM_PAINT呢,比如窗口从最小化还原,比如窗口被用户改变了 大小等等。这部分内容最好看看Windows GDI,Windows GDI是Windows操作系统整个可视化界面的基础。

VF 表单常用属性

VF 表单常用属性 Caption表单的标题 Name表单的名字 AutoCenter表单是否居中(值为.T.时,运行自动居中) Movable表单是否可移动(值为.F.时,运行时不可移动 Closable标题栏中关闭按钮是否失效(值为.F.时失效) ControlBox是否取消标题栏中所有按钮(值为.F.时取消) MaxButton指定表单最大化按钮是否失效(值为.F.时失效) MinButton指定表单最小化按钮是否失效(值为.F.时失效) 若上述两属性都为.F.,则取消最大与最小化按钮 WindowState设定运行时是否是最大化或最小化,值为0(普通),1(最小化),2(最大化) Visible设定表单是否可见,值为.F.时不可见Enabled Enabled设定表单是否可用,为.F. 时不可用 标签控件常用属性 Autosize标签的显示内容 FontName设置标签显示内容的字体 FontSzie设置标签显示内容的字体大小 ForeColor设置字的颜色 BackColor设定标签的背景色 Visible设定表签是否可见,值为.f.时不可见 文本框控件常用属性 Value文本框中的内容(值) Name文本框的名字 FontName设置文本框显示内容的字体 FontSzie设置文本框显示内容的字体大小 ForeColor设置字的颜色 BackColor设定文本框的背景色 Visible设定文本框是否可见,值为.f.时不可见 Enabled设定文本框是否激活可用,值为.f.时不可用 PasswordChar设定文本框是否为密码框 ReadOnly设定文本框是否只读,值为.t.时只读 ControlSource设定文本框的数据源(通过此属性设置,与表的字段发生联系) 命令按钮常用属性

MFC知识点(自己整理的,只供参考)

知识点:不是很全面,只供参考 第一章 Windows应用程序使用的界面是由各种图形元素组成的图形界面(GUI)。 Windows提供了大量预定义的用C语言编写的函数,这些函数就叫做API(Application Programming Interface)函数。 在Windows应用程序中,存在着许多与DOS应用程序不同的复杂对象,例如窗口、按钮、滚动条等等。Windows把为这种复杂对象所定义的标识叫做句柄。 常用的句柄类型:HWND 窗口句柄,HDC 图形设备环境句柄,HINSTANCE 当前程序应用实例句柄,HBITMAP 位图句柄,HICON 图标句柄,HCURSOR 光标句柄,HBRUSH 画刷句柄,HPEN 画笔句柄,HFONT 字体句柄,HMENU 菜单句柄,HFILE 文件句柄 事件的描述是一个消息 消息的结构: typedef struct tagMSG { HWND hwnd; //产生消息的窗口句柄 UINT message;//消息的标识码 WPARAM wParam;//消息的附加信息1 LPARAM lParam;//消息的附加信息2 DWORD time; //消息进入消息队列的时刻 POINT pt; //表示发送该消息时鼠标的位置 }MSG; 消息循环: while(GetMessage(&msg,NULL,NULL,NULL))//系统处理了消息后返回 { TranslateMessage(&msg);//把键盘消息翻译成字符消息 DispatchMessage(&msg);//把消息派发给Windows系统 创建窗口的三个步骤: 注册窗口类: RegisterClass(&wc); 创建窗口: hwnd=CreateWindow( lpszClassName, "Windows", WS_OVERLAPPEDWINDOW, 120,50,800,600, NULL, NULL, hInstance, NULL); 显示窗口: ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); 大题:用函数封装Windows程序(P16) 第二章

表单的基本知识点

表单基本型控件的常用属性 1标签 Caption标题name控件名、fontsize字体大小、fontname文本字体 Alignment指定标题文本在控件内文本的对齐方式 Autosize 是否自动调整控件大小以容纳其内容 Backstyle 指定对象的背景是否透明 Borderstyle 指定对象的边框样式 2命令按钮组 Caption标题width指定对象的宽度height 指定高度 Default 指定按下enter时,哪一个命令按钮会响应 Enabled指定控件能否响应由用户引发的事件 Visible 指定对象是可见还是隐藏 3文本框 Readonly 是否设置为只读Value 设置文本框中的内容 Passwordchar 是否显示占位符,常用* Recordsource指表格数据源Recordsourcetype指表格数据源类型 注意.有两张表格,一张表格显示一数据表内容,另一张表格显示与该数据表内容对应的另一数据表的内容,这种题先添加数据环境,并使数据环境中的这两张表有联线(需先设置表间的永久联系);对两张表格RecordSourceType属性均设为“别名”,RecordSource属性设为数据表文件名。 5列表框 Multiselect 是否可进行多重选择Rowsource指列表框或组合框数据源 Rowsourcetype指列表框或组合框数据类型 6页框(也称为选项卡) PageCount(设置页数)ActivePage(设置活动页)Caption(设置每页的标题是Page1或Page2等各页的标题) 7组合框 属性:RowSourceType(数据源类型)、RowSource(数据源)、Style(设置下拉组合框还是下拉列表框 8选项按钮组 ButtonCount(设置选项数目)、Caption(设置选项的标题 9计时器 InterVal设置时间间隔 常用事件 Lode在表单对象建立之前引发Init在对象建立时引发 Destroy在对象释放时引发Unload 在表单对象释放时引发 引发顺序Load init destroy unload Click是单击事件Rightclick是右击事件 常用方法 Show是显示HIDE是隐藏 RELEASE是释放REFRESH是刷新 有关的命令 Create form 建立表单Modify form 打开表单设计器 退出或关闭thisform.release 或release thisform 建立CREATE CLASS 新类OF 类库AS 父类 修改modify CLASS 类名OF 类库 删除remove class 类名of 类库创建类库create classlib 类库名

MFC对话框程序中的各组件常用方法

MFC对话框程序中的各组件常用方法: Static Text: 将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性: GetDlgItem(IDC_XX)->SetWindowText(L"dsgdhfgdffd"); 设置字体: CFont *pFont = new CFont; pFont->CreatePointFont(120,_T("华文行楷")); GetDlgItem(IDC_XX)->SetFont(pFont); Edit Control: 设置文本: SetDlgItemText(IDC_XX,L"iuewurebfdjf"); 获取所有输入: 建立类向导创建一个成员变量(假设是shuru1,shuru2……)类型选value,变量类型任选。 UpdateData(true); GetDlgItem(IDC_XX)->SetWindowText(shuru1); 第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。 若类型选用control: 1.设置只读属性: shuru1.SetReadOnly(true); 2.判断edit中光标状态并得到选中内容(richedit同样适用) int nStart, nEnd; CString strTemp; shuru1.GetSel(nStart, nEnd); if(nStart == nEnd) { strTemp.Format(_T(" 光标在%d" ), nStart); AfxMessageBox(strTemp); } else { //得到edit选中的内容 shuru1.GetWindowText(strTemp); strTemp = strTemp.Mid(nStart,nEnd-nStart); AfxMessageBox(strTemp); } 其中nStart和nEnd分别表示光标的起始和终止位置,从0开始。strTemp.Format 方法用于格式化字符串。AfxMessageBox(strTemp)显示一个提示对话框,其内容是字符串strTemp。 strTemp = strTemp.Mid(nStart,nEnd-nStart)返回一个被截取的字符串,从nStart开始,长度为nEnd-nStart。如果nStart == nEnd说明没有选择文本。 注:SetSel(0,-1)表示全选;SetSel(-1,i)表示删除所选。

表单控件属性与方法总结

表单控件属性与方法总结表单控件属性 表单的文件名:.scx 表单

输出类控件 标签:第一次创建:name:label1 数据绑定时的字段名显示,默认的名称:lbl字段名 图像:image1. 通用型字段中如果存放的是图片,数据绑定指定的控件就是图像控件 线条:line1

形状:shape1 对控件对象的多重选定:shift+选择 输入类控件 文本框:text1 可以接受4种:c n d(t) l。可以作为以上4种数据类型的绑定控件:Txt字段名

方法:表示对象的行为 Setfocus:设置焦点 Thisform.控件名.方法名 事件: Gotfocus:对象获得焦点时 Lostfocus: 对象失去焦点时 Interactivechange:当键盘或鼠标改变文本框的值时发生 文本框和标签 分别用文本框控件和标签控件显示系统时间,系统日期,系统的日期时间Time()=c型 Date()=d型 Datetime()=t型 文本框用value可以接受c、n、d、l、t 标签用caption接受,只能是c 注意:在属性中设置也要加=

属性设置例子: THISFORM.TEXT1.VALUE=DATE() THISFORM.TEXT1.VALUE=DATETIME() THISFORM.TEXT1.VALUE=TIME() https://www.sodocs.net/doc/f35916321.html,BEL1.CAPTION=TIME() https://www.sodocs.net/doc/f35916321.html,BEL1.CAPTION=TTOC(DATETIME()) https://www.sodocs.net/doc/f35916321.html,BEL1.CAPTION=DTOC(DATE()) 列表框list1和组合框combo1 1.列表框的列表项全部显示,而组合框只显示一项 2.组合框分为下拉组合框和下拉列表框,前者允许选择和输入数据项,后者和列表框一样只有选取功能

常用的MFC类及其作用

常用的MFC类及其作用 分类:MFC基础类专区2008-10-14 11:16 445人阅读评论(1) 收藏举报 1.CRuntimeClass结构 继承自CObject的类都有一个与它相关的CRuntimeClass结构,用来在运行时获得对象以及其基类的信息。 要使用CRuntimeClass结构,必需借助于RUNTIME_CLASS()宏和其他有关运行时类型识别的宏。 2.CObject CObject类的作用: a.对象诊断:MFC提供了两种对象的诊断机制,一种是利用成员含数AssertValid 进行对象有效性检查,这样可以使类在继续运行以前对自已进行正确性检查。另一种是利用成员含数Dump输出对象的数据成员的值,诊断信息以文本形式放入一个数据流中,用于调试器的输出窗口信息显示。这两种诊断只能用于Debug版的应用程序。 b.CObject类提供了GetRuntimeClass与IsKindOf两个成员含数来支持运行时类型识别。GetRunntimeClass根据对象的类返回一个CRuntimeClass结构的指针,它包含了一个类的运行信息,含数IsKindOf用于测试对象与给定类的关系。 c.提供对象的序列化。必须在类的定义中包含DECLARE_SERIAL宏,并且在类的实现文件中加入包含IMPLEMENT_SERIAL宏. https://www.sodocs.net/doc/f35916321.html,mdTarget 该类直接从CObject类派生而来. 它负责将消息发送到能够响应这些消息的对象。它是所有能实行消息映射MFC类的基类,如CWinThread,CWinApp,CWnd,CView,CDocument等类。CCmdTarget 类的主要功能包括消息发送,设置光标和支持自动化. a.消息发送:MFC应用程序为每个CCmdTarget派生类创建一个称为<消息映射表>的<静态数据结构>,该消息映射结构将消息映射到对象所对应的消息处理含数

常用MFC和API函数

常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::store时,将数据存入文档(要求CFile写许可);nBufSize 指定内部文件缓冲区的大小(按字节计); lpBuf 指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,

C++_MFC快速超简单入门

C++ MFC快速超简单入门学习 注意:红色字体为重要的信息,必须理解并记住。 在学习MFC之前,你必须对C++的“类和对象有一定的认识和理解,因为MFC就是C++完全的面向对象设计,它里面封装了好多类,我们只要调用就OK,就像C语言调用库函数一样,直接使用,这就是C++ 第一特性:封装性,第二性就是继承与派生, 这个在MFC中体现得淋淋至间(字打错了)。如果不懂,我再来解释一下,例:有一个商品类,class GOODS 商品属性有名字,价格 它可作为一个基类,我可以派上出苹果类,class Apple :public GOODS . 苹果属性出了继承了商品的属性名字,价格之外,还可派 生出,颜色,等属性,继承与派生就是一个是另一个的子集,但是这 个子集不仅包括父集的特征,还具有一些新的特性,懂了吧,这样。MFC其中重要的类是:CDialog 对话框类,CEdit,(编辑框 类)CButton,(按钮类)CRadio(单选钮类),这些都是作为基类,由我们自己定义的类去派生它们。 好了,现在先了解一下什么是MFC吧,请看当前目录下的MFC入门知识的幻灯片1—20张,或大概的浏览一下当前目录下的其它连个word文件,后面的幻灯片我觉得没必要看了,因为是快速吗,节约时间,(首先看不懂没关系,)但但看完之后,必须掌握如下知识: 1.MFC是作什么用的?与以前我们写的C,C++语言有什 么不同。以及它的一些优点, 不同,以前的是控制台的界面不好看,不友好,操作不 方便,黑框框的一片。 MFC反之。 优点:可用极少的代码实现强大的功能, 2.关于MFC的一些术语,概念啊

3.你要知道MFC的对话框是由控件组成的,具有 哪些控件(例按钮:Button, 单选钮:radio,Edit)例:要知道MFC的编程的原则,也就是宗旨理念吧,“消息映射,事件驱动“,这句话要记住并理解,很重要,真的。那到底是什么意思呢? 现实举例:一个人具备一种“感知“的能力,(也可称消息吧),当用火接近这个人时(发生的事件),就会(驱动)这个人做出反应,远离”火“, 用MFC举例:一个按钮有什么消息啊,我可以单 击它,所以它具备单击的消息: 第一个就是左键单击的消息,第二个 就是双击的消息,见名思议就 OK了。我单击这个按钮要产生某个事件, 我就可以第一步,先给按钮添加一个消息响应函 数,意思就是当我单击按钮时,就调用那个函数, 按钮时时刻刻都处于待命的状态, 假如添加的函数如下: void CDsDlg::OnButton1() { AfxMessageB ox(“我单击了这个按钮”);

excel表单控件与ActiveX控件概念

工作表中的表单、表单控件和ActiveX 控件概念 是的,确实如此。在Microsoft Excel 中,使用少量或者无需 使用Microsoft Visual Basic for Applications (VBA) 代码即可 创建出色的表单。使用表单以及可以向其中添加的许多控件和 对象,您可以显著地增强工作表中的数据项并改善工作表的显 示方式。 ? ? 什么是表单? 无论是打印表单还是联机表单都是一种具有标准结构和格式的文档,这种文档可让用户更轻松地捕获、组织和编辑信息。 ?打印表单含有说明、格式、标签以及用于写入或键入数据的空格。您可以使用Excel 和Excel 模板创建打印表单。 ?联机表单包含与打印表单相同的功能。此外,联机表单还包含控件。控件是用于显示数据或者更便于用户输入或编辑数据、执行操作或进行选择的对象。通常,控件可使表单更便于使用。例如,列表框、选项按钮和命令按钮都是常用控件。通过运行(VBA) 代码,控件还可以运行指定的和响应事件,如鼠标点击。 您可以使用Excel 通过多种方式创建打印表单和联机表单。 Excel 表单的类型 您可以在Excel 中创建多种类型的表单:数据表单、含有表单和ActiveX 控件的工作表以及VBA 用户表单。可以单独使用每种类型的表单,也可以通过不同方式将它们结合在一起来创建适合您的解决方案。 数据表单

为在无需水平滚动的情况下在单元格区域或表格中输入或显示一整行信息提供了一种便捷方式。您可能会发现,当数据的列数超过可以在屏幕上查看的数据列数时,使用数据表单可以使数据输入变得更容易,而无需在列之间进行移动。如果以标签的形式将列标题列出的文本框这一简单表单足以满足您的需求,而且您不需要使用复杂的或自定义的表单功能(例如列表框或调节钮),则可以使用数据表单。 Excel 可以为您的或自动生成内 置数据表单。数据表单会在一个对 话框中将所有列标题都显示为标 签。每个标签旁边都有一个空白文 本框,您可以在其中输入每一列的 数据,最多可以输入32 列数据。 在数据表单中,您可以输入新行, 通过导航查找行,或者(基于单元 格内容)更新行及删除行。如果某 个单元格包含,则公式结果会显示 在数据表单中,但您不能使用数据 表单更改该公式。 含有表单和ActiveX 控件的工作表 工作表是一种类型的表单,可让您在网格中输入数据和查看数据,Excel 工作表中已经内置了多种类似控件的功能,如注释和数据验证。单元格类似于文本框,因为您可以在单元格中输入内容以及通过多种方式设置单元格的格式。单元格通常用作标签,通过调整单元格高度和宽度以及合并单元格,您可以将工作表用作简单的数据输入表单。其他类似控件的功能(如单元格注释、超链接、背景图像、数据验证、条件格式、嵌入图表和自动筛选)可使工作表充当高级表单。 为增加灵活性,您可以向工作表的“”添加控件和其他绘图对象,并将它们与工作表单元格相结合和配合。例如,您可以使用列表框控件方便用户从项目列表中选择项目。还可以使用调节钮控件方便用户输入数字。 因为控件和对象存储在绘图画布中,所以您可以显示或查看不受行和列边界限制的关联文本旁边的控件和对象,而无需更改工作表中数据网格或表的布局。在大多数情况下,还可以将其中许多控件链接到工作表中的单元格,而无需使用VBA 代码即可使它们正常工作。您可以设置相关属性来确定控件是自由浮动还是与单元格一起移动和改变大小。例如,在对区域进行排序时,您可能有一个希望与基础单元格一起移动的复选框。不过,如果您有一个希望一直保持在特定位置的列表框,则您可能希望它不与其基础单元格一起移动。 Excel 有两种类型的控件:表单控件和ActiveX 控件。除这两个控件集之外,您还可以通过绘图工具(如、、SmartArt 图形或文本框)添加对象。 以下部分介绍这些控件和绘图对象,此外,还更为详细地介绍如何使用这些控件和对象。

MFC常用函数

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★//这一页的代码最重要了,呵呵……什么都在这里面呢; 单文档新建:CWinApp_________docManager->docSingleTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 多文档新建:CWinApp_________docManager->docMultTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 单文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docSingleTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 多文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docMultTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 他们两个只有在docMultTemplate和docSingleTemplate的OpenDocumentFile函数中的动作不同,单文档负责新建框架类和视类但是如果存在了我们就不重建了,只是给其赋值。而多文档无论如何都会新建一个视类和框架类文档类,这也就是为什么他是多文档结构的原因。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 接下来介绍这个最重要的函数,它基本什么都干了,不管是新建还是打开都得调用它,呵呵…… // CDocument* CMultiDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible) { //下面调用的是CDocTemplate::CreateNewDocument() CDocument* pDocument = CreateNewDocument();//这里面调用了AddDocument(pDocument); //添加了一个CMyMultiTestDoc : public CDocument

MFC常用类-链表类

MFC的链表类 模板类Clist CTypedPtrList 非模板类CObList CPtrList CStringList MFC链表类的常用成员函数——以Clist为例 1.CList(int nBlockSize = 10 ); 2.TYPE GetHead()const; 3.TYPE GetTail()const; 4.RemoveHead() 5.RemoveTail() 6.原型1:POSITION AddHead(ARG_TYPE newElement ); 原型2:void AddHead(CList* pNewList ); 7.原型1:POSITION AddTail(ARG_TYPE newElement ); 原型2:void AddTail(CList* pNewList ); 8.RemoveAll() 9.POSITION GetHeadPosition()const; 10.POSITION GetTailPosition()const; 11.TYPE GetNext(POSITION& rPosition )const; 12.TYPE GetPrev(POSITION& rPosition )const; 13.TYPE GetAt(POSITION position )const; 14.void SetAt(POSITION pos, ARG_TYPE newElement ); 15.void RemoveAt(POSITION position ); 16.POSITION InsertBefore(POSITION position, ARG_TYPE newElement ); 17.POSITION InsertAfter(POSITION position, ARG_TYPE newElement ); 18.POSITION Find(ARG_TYPE searchValue, POSITION startAfter = NULL)const; 19.POSITION FindIndex(int nIndex )const; 20.int GetCount()const; 21.BOOL IsEmpty()const; 例题 struct CStudent { CString m_strName; int m_nScore; }; CPtrList m_List; 向添加链表中添加元素 CStudent* m_pStudent = new CStudent; m_pStudent->m_strName = m_strName; m_pStudent->m_nScore = m_nScore; m_List.AddTail(m_pStudent); 删除节点 int nNumber;

vf表单控件的使用说明

一、标签 标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。 常用的标签属性及其作用如下。 1、Caption:确定标签处显示的文本。 2、Visible:设置标签可见还是隐藏。 3、AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。 4、BackStyle:确定标签是否透明。 5、WordWrap:确定标签上显示的文本能否换行。 6、FontSize:确定标签上显示文本所采用的字号。 7、FontName:确定标签上显示文本所采用的字体。 8、ForeColor:确定标签上显示的文本颜色。 二、命令按钮和命令按钮组 在各种窗口或对话框中几乎都要使用一个或多个命令按钮。一旦用户单击一个命令按钮,就可实现某种规定的操作。例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。 VisualForPro中的命令按钮控件同样用于完成特定的操作。操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。 常用的命令按钮属性及其作用如下: 1、Caption:设置在按钮上显示的文本。 2、Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若 用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。 3、Cancel:如果设置该属性值为.T.,则当用户按下键时,将执行命令按钮的click 事件的代码。 4、Enabled:指明按钮是否失效,即是否被选择。当Enabled属性值为.f.时,用户无法 选择该按钮。 5、DisabledPicture:指定按钮失效时在按钮上显示的.bmp文件。 6、DownPicture:指定在按钮按下时按钮上显示的.bmp文件。 7、Visible:指明按钮是否可见。 8、Picture:指明显示在按钮上的.bmp文件。 命令按钮组时一组命令按钮,是容器对象。使用命令按钮组便于对一组命令按钮进行统一操作和设置。命令按钮组的ButtonCount属性值,决定组中命令按钮的个数。 表单运行时,当用户单击组中某个命令按钮时,命令按钮组的Value属性可以返回所单击按钮的序号。若要单独设置组中的某个命令按钮的属性,可以使用命令按钮组的快捷菜单中的“编辑”命令选择某个按钮,在“属性”窗口中设置其属性。若为组中某个按钮的Click事件写了代码,当单击这个按钮时,将执行该按钮的Click事件代码而不是组的Click事件代码。 三、选项按钮组 选项按钮组是常用的一种控件,用在各种对话框中,让用户从给定几个操作中选择一个。例如“文件”菜单中“新建”菜单项打开“新建”对话框,该对话框中有一个标题为“文件类型”的选项按钮组,让用户选择建立哪一种类型的文件。

(适合初学者)MFC基础教程

Visual C++/MFC初学教程 目录 +-- 第一章 VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势 |------ 1.4 利用MFC进行开发的通用方法介绍 |------ 1.5 MFC中常用类,宏,函数介绍 +-- 第二章图形输出 |------ 2.1 和GUI有关的各种对象 |------ 2.2 在窗口中输出文字 |------ 2.3 使用点,刷子,笔进行绘图 |------ 2.4 在窗口中绘制设备相关位图,图标,设备无关位图 |------ 2.5 使用各种映射方式 |------ 2.6 多边形和剪贴区域 +-- 第三章文档视结构 |------ 3.1 文档视图框架窗口间的关系和消息传送规律 |------ 3.2 接收用户输入 |------ 3.3 使用菜单 |------ 3.4 文档,视,框架之间相互作用 |------ 3.5 利用序列化进行文件读写 |------ 3.6 MFC中所提供的各种视类介绍 +-- 第四章窗口控件 |------ 4.1 Button |------ 4.2 Static Box |------ 4.3 Edit Box |------ 4.4 Scroll Bar |------ 4.5 List Box/Check List Box |------ 4.6 Combo Box/Combo Box Ex |------ 4.7 Tree Ctrl |------ 4.8 List Ctrl |------ 4.9 Tab Ctrl |------ 4.A Tool Bar |------ 4.B Status Bar |------ 4.C Dialog Bar |------ 4.D 利用AppWizard创建并使用ToolBar StatusBar Dialog Bar |------ 4.E General Window

表单控件常用属性、事件及方法英中对照

VFP表单/控件常用属性、事件及方法英中对照 ——属性—— Name:表单或控件名 Caption:标题文字 AutoCenter:自动居中 AutoSize:自动大小 ForeColor:前景色 BackColor:背景色 Closable:可关闭 Movable:可移动 Width:宽度 Height:高度 Icon:图标 Visible:可见 Font*:字体、字号等 Enabled:能用 ButtonCount:命令按钮组、选项组控件中控件的个数 Buttons(1):命令按钮组、选项组控件中第一个控件;Buttons(2)命令按钮组、选项组控件中第二个控件;…… value:表示组控件中选中的是第几个控件 或文本框中的内容 或列表框中选择的内容 等 PasswordChar:文本框用于输密码时显示的符号 ControlSource:和控件绑定的内存变量或字段SelStart:编辑框中选定内容的开始位置SelLength:编辑框中选定内容的长度SelText:编辑框中选定的内容 ListCount:列表框中可供选择的内容数 List(1)表示列表框中的第一项内容,List(2)表示列表框中的第二项内容,……RowSourceType:列表框中内容的给出方式RowSource:列表框中内容来自的字段名等MultiSelect:1或.t.时允许多项选择 Selected(1)为真,第一项被选;Selected(2)为真,第二项被选;……。 Text:下拉列表框中输入的内容Recordsource:表格控件绑定的表PageCount:页框中页面的个数 Pages(1)表示页框中的第一个页面,Pages (2)表示页框中的第二个页面,……ActivePage:页框中的活动页面号Increment:微调每次的变化量SpinnerHighValue:鼠标调整时的最大值SpinnerLowValue:鼠标调整时的最小值KeyboardHighValue:键盘输入时的最大值KeyboardLowValue:键盘输入时的最小值Value:微调的当前值 Picture:图像控件对应的图像 Stretch:图像的显示方式 Interval:计时器定时的时间间隔,单位毫秒 ——事件—— Load:装入事件 Init:初始化事件 Destroy:表单关闭前发生的事件Unload:表单关闭时发生的事件Click:单击事件 DblClick:双击事件 RightClick:右键事件 GotFocus:得到焦点事件 LostFocus:失去焦点事件 Timer:计时器指定的时间间隔到时发生 Error:执行对象事件代码出错时发生——方法—— Release:关闭表单Refresh:表单刷新Show:显示表单Hide:隐藏表单SetFocus:将焦点放到控件中 AddItem(内容项):向列表框中增加数据项RemoveItem(位置):从列表框中删数据项

MFC常用类-CTimeSpan类

CTimeSpan类 1.构造函数。 CTimeSpan类有下列构造函数: (1)CTimeSpan(); (2)CTimeSpan(const CTimeSpan& timeSpanSrc ); (3)CTimeSpan(time_t time ); (4)CTimeSpan(LONG lDays, int nHours, int nMins, int nSecs ); 参数timeSpanSrc为一个已存在的CTimeSpan 对象,time为一个time_t 类型的时间值,lDays, nHours, nMins, nSecs分别为天数、小时数、 分数和秒数。 2.时间值的提取函数 (1)GetDays()获得CTimeSpan类对象中包含的完整的天数。 (2)GetHours()获得当天的小时数,值在-23到23之间。 (3)GetTotalHours()获得CTimeSpan类对象中包含的完整的小时数。 (4)GetMinutes()获得当前小时包含的分数,值在-59到59之间。 (5)GetTotalMinutes()获得CTimeSpan类对象中包含的完整的分数。 (6)GetSeconds()获得当前分钟包含的秒数,值在-59到59之间。 (7)GetTotalSeconds()获得CTimeSpan类对象中包含的完整的秒数。 格式化时间 Format()将一个CTimeSpan对象转换成格式字符串。使用方式与CTime类似,格式化字符包括以下几个: %D: CTimeSpan的总天数; %H:不足整天的小时数; %M:不足1小时的分数; %S:不足1分钟的秒数; %%:百分号。 4.重载运算符 CTimeSpan类也重载了运算符“=”,“+”,“-”,“+=”,“-=”,“==”,“!=”,“<”,“>”,“<=”,“>=”,用于CTimeSpan对象的赋值、加减运 算及两个CTimeSpan对象的比较。 例子代码 构造一个CTimeSpan对象,并获取其中的完整天数、小时数、分数和秒数,将获得的信息在信息框中显示。 CTimeSpan m_timespan(3,4,5,6); // 3天,4小时,5分,6秒 LONG m_totalDays=m_timespan.GetDays(); //获得完整天数 LONG m_totalHours=m_timespan.GetTotalHours(); //获得完整小时数 LONG m_totalMinutes=m_timespan.GetTotalMinutes(); //获得完整分数 LONG m_totalSeconds=m_timespan.GetTotalSeconds(); //获得完整秒数 char s1[8], s2[8], s3[8], s4[8]; wsprintf(s1,"%ld",m_totalDays); wsprintf(s2,"%ld",m_totalHours); wsprintf(s3,"%ld",m_totalMinutes); wsprintf(s4,"%ld",m_totalSeconds); CString m_str = "此时间范围包含:\n完整天数:"+CString(s1)+"\n完整小时数:"+CString(s2)+"\n完整分数:"+CString(s3)+"\n完整秒 数:"+CString(s4); MessageBox(m_str);

相关主题