当前位置:首页 > 实用技巧 >

mfc状态栏在哪里添加(mfc怎么添加登录界面)

来源:原点资讯(www.yd166.com)时间:2023-05-07 12:19:20作者:YD166手机阅读>>

Visual c 提 供 了 功 能 强 大 的 类 库, 基 本 上 应 用 开 发 的 要 求, 但 对 于 某 些 特 殊 要 求 的 界 面, 如 图 像 兼 文 字 的 按 纽, 列 表 框 中 插 入 图 像, 中 国 式 报 表 等 等, 仍 显 得 力 不 从 心, 因 而 很 有 必 要 创 建 扩 展MFC 类 库, 以 满 足 实 际 开 发 的 需 求。But,Toolkit Pro 是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C MFC控件。 根据需要可进行下载体验!

本文通过实例说明MFC工具栏的创建、设计和使用方法,包括三个demo。

demo1:创建一个工具栏

C 代码

//摘抄自MSDN demo1 (创建一个工具栏) 1.Create a toolbar resource. /*可以先插入一个新的工具栏资源 添加分隔符,将按钮向右拖动一小下 删除按钮,将按钮拖动出工具栏 */ 2.Construct the CToolBar object. /* 工具栏是 CToolBar 对象,声明为应用程序的 CMainFrame 类的数据成员。也就是说,工具栏对象嵌入到主框架窗口对象中。这意味着 MFC 在创建框架窗口时创建工具栏,在销毁框架窗口时销毁工具栏。 */ 3.Call the Create (or CreateEx) function to create the Windows toolbar and attach it to the CToolBar object. 4.Call LoadToolBar to load the toolbar resource. /* 工具栏创建发生在 CMainFrame::OnCreate 中。MFC 在创建框架窗口之后且在窗口可见之前调用 OnCreate。 在 OnCreate 中调用适当的函数来停靠或浮动工具栏、设置它的样式等。 应用程序向导”生成的默认 OnCreate 执行以下工具栏任务: 1.调用 CToolBar 对象的 Create 成员函数来创建基础 CToolBarCtrl 对象。 2.调用 LoadToolBar 来加载工具栏资源信息。 3.调用函数来启用停靠、浮动和工具提示。 */ class CMainFrame : public CMDIFrameWnd { // ... // Implementation // ... protected: // control bar embedded members CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; // Generated message map functions protected: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); DECLARE_MESSAGE_MAP() }; int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1) return -1; //框架类中m_wndMyToolBar成员变量先调用CreateEx函数,再调用LoadToolBar函数 if (! m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || ! m_wndToolBar.LoadToolBar(IDR_MYTOOLBAR)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } //调用CToolBar中的成员函数设置工具栏可停靠的位置 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); //调用框架类中的成员函数设置哪里可以被停靠 EnableDocking(CBRS_ALIGN_ANY); //Points to the control bar to be docked. DockControlBar(&m_wndToolBar); return 0; }

demo2:停靠和浮动工具栏

C 代码

demo2 (停靠和浮动工具栏) /* 如果使用“应用程序向导”来生成应用程序的主干,向导将要求您选择是否想要可停靠的工具栏。 默认情况下,“应用程序向导”生成代码来执行将可停靠工具栏放置在应用程序中所需的三个操作: 1.在框架窗口中启用停靠。 2.为工具栏启用停靠。 3.停靠工具栏(靠向框架窗口)。 如果这些步骤中的任何一个缺少,应用程序都将显示标准工具栏。 后两个步骤对应用程序中的每一个可停靠工具栏都必须执行。 */ CFrameWnd::EnableDocking()//在框架窗口中启用停靠 /* 若要将工具栏停靠到某个框架窗口,则必须启用该框架窗口(或目标)以允许停靠。 这可通过使用 CFrameWnd::EnableDocking 函数来实现,该函数采用一个 DWORD 参数,这是一组指示框架窗口的哪一个边接受停靠的样式位。 如果一个工具栏即将停靠并且有多个边可以停靠,则在传递给 EnableDocking 的参数中指示的边按以下顺序使用:顶边、底边、左边、右边。 如果希望能够将控制条停靠在任意位置,请将 CBRS_ALIGN_ANY 传递给 EnableDocking。 */ CControlBar::EnableDocking()//为工具栏启用停靠 /* 准备好停靠目标后,必须以相似的方式准备工具栏(或源)。为想要停靠的每一个工具栏调用 CControlBar::EnableDocking,指定工具栏应停靠的目标边。如果在 CControlBar::EnableDocking 调用中所指定的边没有一个与框架窗口中为停靠启用的边匹配,则工具栏无法停靠(它将浮动)。 工具栏一旦浮动,将保持为浮动工具栏,不能停靠到框架窗口。 如果希望工具栏永久浮动,请调用参数为 0 的 EnableDocking。然后调用 CFrameWnd::FloatControlBar。工具栏将保持浮动,永远不能在任意位置停靠。 */ CFrameWnd::DockControlBar()//停靠工具栏 /* 当用户试图将工具栏放置在允许停靠的框架窗口某一边时,框架调用 CFrameWnd::DockControlBar。 另外,可以随时调用该函数将控制条停靠在框架窗口中。这通常在初始化过程中完成。 框架窗口的具体某个边上可停靠多个工具栏。 */ CFrameWnd::FloatControlBar()//浮动工具栏 /* 从框架窗口分离可停靠工具栏称为浮动工具栏。调用 CFrameWnd::FloatControlBar 来执行该操作。指定要浮动的工具栏、将放置的点以及决定浮动工具栏是水平还是垂直的对齐样式。 当用户拖动工具栏离开停靠位置并将它放置在一个未启用停靠的位置时,框架调用该函数。 这可以是框架窗口的内部或外部的任意位置。同 DockControlBar 一样,也可以在初始化过程中调用该函数。 可停靠工具栏的 MFC 实现不提供一些支持可停靠工具栏的应用程序中有的扩展功能。诸如可自定义工具栏这样的功能不提供。 */ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //... //部分代码略 //... //调用CToolBar中的成员函数设置工具栏可停靠的位置 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); //调用框架类中的成员函数设置哪里可以被停靠 EnableDocking(CBRS_ALIGN_ANY); //Points to the control bar to be docked. DockControlBar(&m_wndToolBar); return 0; }

demo3:点击菜单项显示和隐藏工具栏

C 代码

demo3 (点击菜单项显示和隐藏工具栏) CFrameWnd::ShowControlBar//显示和隐藏菜单项 void ShowControlBar( CControlBar* pBar, BOOL bShow, BOOL bDelay ); void CMainFrame::OnViewNewtool() { ShowControlBar(&m_newToolBar,!m_newToolBar.IsWindowVisible(),FALSE);//控制显示和隐藏 } void CMainFrame::OnUpdateViewNewtool(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here pCmdUI->SetCheck(m_newToolBar.IsWindowVisible());//为菜单项打标记 }

MFC扩展类库

在平时练习的时候我们可以自己手动进行,但是一旦接受一些项目,应用程序开发等,对界面的要求就会高出许多。这时候就有必要借助这些“半成品”实现界面美化提升效率。这里简单介绍一下,具体可点进去查看每个的详情以及教程,案例!

Toolkit Pro

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库,是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C MFC控件,包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Report Control、Shortcut Bar、Syntax Edit、Skin Framework 和Task Panel。

BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。
BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。可以轻松地集成到你的应用程序中,并为你节省数百个开发和调试时间。

转载自:http://www.jizhuomi.com/software/494.html

关注我或者点击下方“了解更多”获取一手开发资讯哦!

栏目热文

驾驶证的体检流程(网上换证不用体检是真的吗)

驾驶证的体检流程(网上换证不用体检是真的吗)

驾驶证到期,不想去医院、相馆、车管所多次奔波?不想扎堆排队?来来来,这里最快5分钟完成!日前,我区在政务服务中心推出“体...

2023-05-07 12:21:41查看全文 >>

驾驶证体检色盲图片大全(自助体检机辨色要看几个图)

驾驶证体检色盲图片大全(自助体检机辨色要看几个图)

想要开车,首先要考取一本驾照,很多人知道考驾照要到车管所报名,然后进行练习,可是大多数人却不知道到车管所报名的第一项就是...

2023-05-07 11:46:25查看全文 >>

驾驶证体检血压高要紧吗(换驾驶证体检血压高咋办)

驾驶证体检血压高要紧吗(换驾驶证体检血压高咋办)

日前,有媒体报道,资阳某驾校学员,53岁的胡某在驾驶考试车辆参考的过程中突然晕倒在车上。据急救的医生介绍,送到医院的时候...

2023-05-07 12:22:55查看全文 >>

陶粒可以种水草种子吗(陶粒直接种水草可以么)

陶粒可以种水草种子吗(陶粒直接种水草可以么)

今天看到鱼友吐槽仙土,说,开缸有三个月了,水草奄奄一息的,没有状态,红宫廷变绿宫廷;设备如下:灯光:尼特利at1 50瓦...

2023-05-07 12:06:42查看全文 >>

陶粒种什么水草不用施肥(陶粒养水草施肥的正确方法)

陶粒种什么水草不用施肥(陶粒养水草施肥的正确方法)

各位鱼友大家好,我是养鱼老道,更多观赏鱼饲养、繁育实践知识,敬请大家关注,让我们轻松养水,快乐养鱼!经过最近一段时间的实...

2023-05-07 11:50:16查看全文 >>

mfc滑动条件怎么设置(mfc下拉选项怎么设置)

mfc滑动条件怎么设置(mfc下拉选项怎么设置)

创建和销毁定时器MFC的CWnd类提供的成员函数SetTimer用于设置并启动定时器。第一个参数是我们设置的定时器ID,...

2023-05-07 11:58:54查看全文 >>

mfc编程怎样设置对话框在屏幕上(mfc主窗口视图怎么显示对话框)

mfc编程怎样设置对话框在屏幕上(mfc主窗口视图怎么显示对话框)

创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生...

2023-05-07 12:24:39查看全文 >>

mfc菜单响应时间(mfc菜单怎么显示在窗口中)

mfc菜单响应时间(mfc菜单怎么显示在窗口中)

质量流量计是运用流体质量流量对振动管振荡的调制作用即科里奥利力现象为原理,以质量流量测量为目的的质量流量计,一般由传感器...

2023-05-07 12:28:06查看全文 >>

mfc界面内容实时更新(mfc如何更新窗口线条)

mfc界面内容实时更新(mfc如何更新窗口线条)

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应...

2023-05-07 12:22:33查看全文 >>

mfc如何屏蔽掉菜单中的一些选项

mfc如何屏蔽掉菜单中的一些选项

Windows窗口大多有菜单,而菜单的作用在程序运行中有着至关重要的作用。前面学习了绘图和键盘鼠标事件。今天就学习菜单。...

2023-05-07 11:46:09查看全文 >>

文档排行