返回首页

下载完整的源代码 - 1470 KB 如何使用您的弹出式菜单应用程序?如何设置弹出菜单的可视化选择吗?如何设置的命令,总是作为经常使用的菜单显示?什么是有用SetBasicCommands方法?如何禁用最近使用的菜单项目吗?对接机制解释 如何停靠固定大小的控制酒吧相对对方?如何停靠可调整大小酒吧相对对方?如何显示或隐藏停靠或浮动控制栏?如何浮动固定大小吧?如何浮动可调整大小吧?如何使控制条停靠站点要重新停靠?如何激活可调整大小的酒吧这是不可见的呢?如何设置初始大小可调整大小的控制吧?如何检测是否栏在浮动容器或在停靠站点?如何检测是否栏可见或不可见?如何处理控制条显示/隐藏命令和更新其相关联的命令状态,在对接网站?如何处理控制条显示/隐藏命令和更新自己的停靠站点关联的命令状态如在Visual Studio。NET?如何加载/保存状态对接酒吧?NET如何添加Visual Studio中。如框架窗口可调整大小的控制栏?如何插入窗口可调整大小的控制吧?如何添加对接菜单栏框架窗口?有没有办法改变外观的控制条的抓手?如何清除密切按钮CExtControlBar?我在MFC编程的新手。如何设置为教授,教科文组织统计研究所的文件的路径?如何使用教授统计研究所控制(CExtComboBoxCExtButton等)?如何加载/保存应用程序命令的用法统计数据?如何更换标准与MFC工具栏统计研究所教授框架窗口?如何设定/改变工具栏上的按钮的文本在菜单的菜单项? 如何添加/删除/ UI状态剖面命令经理吗?
教授的统计研究所是一个易于使用的MFC扩展库,使您能够提供专业和友好的用户界面的Windows应用程序。利润UIS是专门帮助Visual C开发中实现先进的用户界面设施最有效和最简便的方法:在大多数情况下,以取代在您的代码统计研究所教授,适当的MFC类的名称是不够充分教授统计研究所功能的优势,即CComboBox - GT;CExtComboBox。 ,结合名单令人印象深刻的一个关键特性,使得教授统计研究所的一个宝贵的工具GUI开发。
教授的统计研究所,旨在帮助Visual C程序员的节省数百个小时在在他们的应用程序实施当今最要求的GUI设施。这让教授,教科文组织统计研究所的GUI开发的宝贵工具。上飞多变的Microsoft Office 2000,XP和2003年的主题视觉Studio。NET的类似可调整大小的控制栏,选择性地显示其内容同时拖动/调整大小。这样的酒吧,可放置在各种组合相对对方无论是在主框架窗口,并在智能浮动容器一套功能强大的色彩管理工具:颜色与阴影的弹出菜单(颜色选择器"菜单),颜色选择器按钮,控制调色板,拾色器控制和颜色选择对话框弹出菜单阴影,动画,经常/很少使用的命令,Windows 2000的类似工具提示窗口自动支持的MRU文件和MDI窗口,列出的菜单栏MDI / SDI主框架和MDI子框架,和上下文菜单中的系统菜单应用程序的工具栏和可调整大小的控制条增强可调整大小的对话框,可调整大小的属性表和Resizable属性页固定大小的面板控制栏增强与平/半平面风格的标准控件:组合框可选的自动完成,编辑,与图标的按钮,复选框,单选按钮内置分为工具栏按钮"下拉式区工具栏的雪佛龙按钮的支持强大的"老大难affixment算法",这使得教授统计研究所控制酒吧非常用户友好的??他们可以恢复他们的的确切位置和大小后redocking酒吧或调整帧广义模板像注射各种常见任务的窗口类到任何窗口的非客户区边界,提供无闪烁重绘他们的父窗口的边界锚定的子窗口多的配置文件的用户界面持久性和归档基于UI的状态序列化,支持命令使用统计。这些功能的基础上,命令管理序列化组件使用禁用的菜单和工具栏项目的Alpha图标时,微软Office 2003的风格和高/真彩色显示器模式上多显示器支持Visual Studio的6.0/7.0/7.1兼容性 ANSI,MBCS,Unicode和本地的Unicode支持德国,波兰,瑞典和俄罗斯的本地化如何使用您的弹出式菜单应用程序
CExtPopupMenuWnd类实现一个弹出菜单。使用它是不超过标准CMenu类的困难。
1。动态创建CExtPopupMenuWnd对象:CExtPopupMenuWnd * pPopupWnd =新CExtPopupMenuWnd;
2。通过加载的菜单资源验证初始化菜单项( pPopupWnd - GT; LoadMenu( HWND,  60; IDR_TEST_POPUP_MENU  0; ) );
或执行呼叫CExtPopupMenuWnd::ItemInsert()
3。现在让我们看看如何可以插入一个新的弹出子菜单。
首先,创建和初始化通过步骤1和步骤2。然后, 在插入一个新的弹出呼吁ItemInsertSpecPopup()在现有CExtPopupMenuWnd对象的指定位置。下面的代码插入一个拾色器"菜单中现有的菜单:pPopupWnd - GT; ItemInsertSpecPopup(   ; 新CExtPopupColorMenuWnd & #160;-1, _T("试色menuquot;) & #160;);
4。跟踪创建和初始化的弹出菜单:验证(pPopupWnd - GT; TrackPopupMenu(0,X,Y));
请注意,跟踪弹出菜单中的位置是在屏幕上设置坐标。
CExtPopupMenuWnd对象被自动销毁,所以不调用这些对象的delete运算符。如何设置弹出菜单的可视化选择吗?
弹出菜单类CExtPopupMenuWnd有以下属性:物业默认值的含义静态BOOL g_bMenuWithShadows;真允许显示阴影静态BOOL g_bMenuExpanding;在初始状态,允许隐藏很少使用的菜单项静态BOOL g_bMenuHighlightRarely;真显示在不同的风格很少使用的菜单项静态BOOL g_bMenuShowCoolTips;真允许显示很酷的工具提示静态BOOL g_bMenuExpandAnimation;真扩大很少使用的菜单项时,打开动画静态BOOL g_bUseDesktopWorkArea;真如果为true,对齐桌面工作区,否则 - 屏幕面积静态e_animation_type_t g_DefAnimationType;__AT_FADE在菜单中激活默认动画。可接受的值是:__AT_NONE

__AT_RANDOM
__AT_ROLL
__AT_SLIDE
__AT_FADE
__AT_ROLL_AND_SREETCH
__AT_SLIDE_AND_SREETCH
__AT_NOISE
__AT_BOXES
__AT_CIRCLES
__AT_HOLES如何设置的命令,总是作为经常使用的菜单显示?
常用的基本命令是那些不取决于使用统计或点击次数。已在所有应用程序的命令命令管理器(CExtCmdManager),其成员和方法可通过全球智能指针变量g_CmdManager与访问运营商- GT; SetBasicCommands()方法允许你来补充基本的命令列表。系统命令(从窗口的系统菜单),OLE命令和命令有关的MRU文件,并为MDI窗口被自动认为是基本。 什么是SetBasicCommands的效用方法是什么?
DRAWCLI样品在展开的菜单。当你打开任何下拉从菜单栏中的菜单,只有项目对应的基本命令在第一个可见的。其他项目似乎只有当你点击展开按钮菜单的底部,或当您按CTLT DOWN_ARROW。如何禁用最近使用的菜单项目吗?
有两种方法可以做到这一点:将下列行添加到您的初始化代码CExtPopupColorMenuWnd:g_bMenuExpanding = FALSE;CExtPopupColorMenuWnd:g_bMenuHighlightRarely = FALSE;使用g_CmdManager - GT; SetBasicCommands (...)使所有的基本的命令,即最初在你的菜单可见。第一种方式是可取的。
对接机制解释
这部分的文章介绍了如何教授统计研究所实现机制负责对接控制条。这也解释了最重要的可停靠的控制栏上的操作,包括如何在一组的立场是框架窗口。
有几个方面可能有不同的人有不同的含义。下面给出了一些重要条款的简要说明。框架窗口
在中心区有一个子窗口和设置重叠/弹出窗口子窗口(控制条),可固定在它的边界。
一个弹出的框架窗口包含在其任一停靠的控制条或浮空状态。浮动容器(浮动面板,浮动框架,迷你架)
包围对接栏只生一个孩子的一种特殊的框架窗口AFX_IDW_DOCKBAR_FLOAT对话框控制的标识符窗口。对接栏"窗口中包含一个或多个控制条。浮动容器与控制条拖动和拖放自动创建和销毁算法。控制栏
广义的窗口,可以是固定的MFC实现它的父框架窗口的任何边界或漂浮在浮动容器。固定大小的控制栏
一个固定大小的控制栏(如工具栏或菜单栏)。固定大小在其停靠的状态栏可以通过拖动其边界不能改变。可调整大小的控制栏*
可以调整大小,拖动其边界,并停靠在控制栏动态控制栏容器。停靠栏
这是一个父窗口用于所有的MFC控制条重新对接功能的控制条打开(CControlBar::EnableDocking()是用于本)。基本上的MFC提供两种类型的对接酒吧,这是实施内部类(CDockBar):浮动栏(设置对话框控制的标识符AFX_IDW_DOCKBAR_FLOAT)和对接栏固定在两侧停靠站点(设置对话框控制标识符AFX_IDW_DOCKBAR_LEFT,AFX_IDW_DOCKBAR_RIGHT,AFX_IDW_DOCKBAR_TOP,或AFX_IDW_DOCKBAR_BOTTOM)。 MFC支持一个停靠站点的时间只有四个对接酒吧(酒吧标在下面的红色)。统计研究所在教授这些酒吧被称为"圆0"或"外对接栏圈"。固定和可调整大小的酒吧,可以停靠成"圆0",但他们只可调整大小酒吧码头拖和算法到统计研究所的教授特定的内在对接栏中的"圈子"与数字开始1。在下图中,"圆"被标记为蓝色,"圆2" - 绿色。内圆与动态创建和销毁拖和算法的可调整大小的酒吧。这些内部圈子"允许"可调整大小的酒吧停靠相互嵌套的方式。固定大小的控制条可以停靠,只有到"圆0",用红色标记。停靠站点的客户区
的区域是无任何酒吧。它的特点是图中的黄色和使用MDI客户窗口在MDI应用程序和SDI视图窗口 应用。动态控制栏容器*
一个可调整大小控制栏的一种特殊的,这是动态创建和用于对接其他可调整大小酒吧内垂直行的水平行反之亦然。像任何可调整大小的控制栏的栏容器的动态控制可以采取部分停靠站点或浮动容器的一部分。状态栏
MFC实现的状态行。状态栏不能被重新对接通过拖动任何区域。它占用下最低的停靠站点的一部分对接酒吧(下红色的"圆0",即)。
*教授的统计研究所 - 特定任期如何停靠固定大小的控制酒吧相对对方?
要设置一定的固定对接栏的位置,只需打电话给你的CMainFrame:DockControlBar()方法,用适当的参数值。下面的例子安排到一个水平的图像两个工具栏框架窗口的底部:DockControlBar( AMP; m_wndToolBar1   ; AFX_IDW_DOCKBAR_BOTTOM );  60;CRECT wrAlreadyDockedToolBar; m_wndToolBar1.GetWindowRect(AMP; wrAlreadyDockedToolBar); wrAlreadyDockedToolBar.OffsetRect(0,1); DockControlBar( AMP; m_wndToolBar2 AFX_IDW_DOCKBAR_BOTTOM, AMP; wrAlreadyDockedToolBar 0; );如何停靠可调整大小酒吧相对对方?
使用CExtControlBar:DockControlBar()方法(两个重载功能)设置控制条的相对位置。在样品下面,第一种方法码头m_wndResourceViewBar调整大小酒吧到新创建的"对接圈1"的左半部分行。第二一种是适用于m_wndResourceViewBar已经停靠栏,其参数指定的位置m_wndServerExplorerBar栏相对m_wndResourceViewBar之一。 m_wndResourceViewBar.DockControlBar( AFX_IDW_DOCKBAR_LEFT,  0; 1, 这一点,  60; 假 ); m_wndResourceViewBar.DockControlBar( AMP; m_wndServerExplorerBar 真实, 真实, & #160; 这一点, 假 );如何显示或隐藏停靠或浮动控制栏?
为了使固定大小的酒吧和可调整大小的酒吧可见/不可见的,应使用CFrameWnd的::ShowControlBar()方法。 "CControlBar::ShowWindow的()不能用在这里,因为它不影响其他酒吧的位置,在相同的框架窗口(即方法不执行框架布局重新计算)。如何浮动固定大小 吧?
为此,使用CExtControlBar:FloatControlBar(),或CFrameWnd的:FloatControlBar()。这两种方法产生相同的结果。如何浮动可调整大小吧?
CExtControlBar::FloatControlBar()方法应该使用。 "CFrameWnd的:FloatControlBar()方法是不允许的。如何使在控制条停靠站点进行重新停靠?
通常所有控制条在任何停靠站点(但状态栏)启用重新停靠。此功能是开启执行以下两个步骤。首先,调用静态CExtControlBar:FrameEnableDocking(pDockSite)方法。二,调用的CExtControlBar:EnableDocking()方法了吧。
如果酒吧是不重,可停靠,它的父窗口是停靠站点。万一一个可停靠栏,父窗口始终是一个对接栏窗口(即使是浮动面板)。
重要:CExtControlBar:FrameEnableDocking(pDockSite)应该用来代替CFrameWnd的:EnableDocking()。如何激活可调整大小的酒吧这是不可见的呢?
调用的静态CExtControlBar:DoFrameBarCheckCmd(pDockSite,nReisizableBarDlgCtrlID,FALSE)方法激活可调整大小的酒吧在任何状态下。如何设置初始大小可调整大小的控制吧?
使用下面三种方法来初始化所需的大小酒吧无论是在停靠状态(垂直/水平),或在浮动状态:SetInitDesiredSizeVertical(CSIZE)SetInitDesiredSizeHorizo​​ntal(CSIZE)SetInitDesiredSizeFloating(CSIZE)
停靠酒吧真正的大小之间的所有按比例调整在一排的Resizable酒吧。
请注意,酒吧,可以在浮动状态,只有当它本身就是在浮动容器中的单杆。在任何其他情况下,在酒吧停靠状态。如何检测是否栏是在浮动容器或在停靠站点?
调用的CExtControlBar:GetParentFrame()方法来获取父CFrameWnd的基于窗口的指针。如果这个返回对象是CMiniFrameWnd,停靠在一个酒吧漂浮的盛器。否则栏是停靠在停靠站点。如何检测是否栏可见或不可见?
调用对getStyle(检索栏的窗口风格标志)的方法。酒吧窗口是可见的,如果其窗口风格标志WS_VISIBLE标志。 CControlBar::IsVisible()方法此外可以检测是否酒吧是暂时看不见。如何处理好控制栏显示/隐藏命令和更新其相关联的命令状态,在对接网站?
这些命令使每个控制栏可见/不可见。他们通常打上选中标记,这表明酒吧的知名度。每个对接酒吧有其独特的对话框控制的标识符和相应的菜单在停靠站点的命令。在这种情况下,所有列表中的上下文菜单对接酒吧可以激活每帧点。因此,设置正确的检查标记为"显示/隐藏"栏的命令,你应该添加以下两行帧的消息映射:ON_COMMAND_EX(ID_BAR_. ..,OnBarCheck) ON_UPDATE_COMMAND_UI(ID_BAR_. ..,OnUpdateControlBarMenu)如何处理好控制栏显示/隐藏命令和更新自己的停靠站点关联的命令状态如在Visual Studio。NET?
首先,请参阅前面的回答。所不同的是在命令处理/更新为可调整大小的酒吧。这些命令没有商标和检查仅用于激活可调整大小控制条。他们从不掩饰酒吧。实施新的OnBarCheck()和OnUpdateControlBarMenu()停靠站点:BOOL CMainFrame的方法:OnBarCheck(UINT的NID) { 返回CExtControlBar::DoFrameBarCheckCmd(  60; 这一点,   ; NID, 假 ); } 无效的CMainFrame:OnUpdateControlBarMenu(CCmdUI * pCmdUI) {  0; CExtControlBar::DoFrameBarCheckUpdate( 这一点, pCmdUI, 假  60; ); }如何加载/保存状态对接酒吧?
状态的持久性通常是在你实施的CMainFrame的OnCreate()和DestroyWindow()方法。
要加载的酒吧"的状态:CExtControlBar:ProfileBarStateLoad( 这,/ /某种CFrameWnd的 PAPP - GT; m_pszRegistryKey   ; / /应用程序的注册表项(通常是公司名称) 60; PAPP - GT; m_pszProfileName &# 160; / /应用程序的配置文件的名称(通常是产品名称) PAPP - GT; m_pszProfileName / /教授U​​IS配置文件的名称 );
为了节省酒吧"状态:CExtControlBar:ProfileBarStateSave( 这,/ /某种CFrameWnd的 PAPP - GT; m_pszRegistryKey / /应用程序的注册表项(通常是公司名称) PAPP - GT; m_pszProfileName / /应用程序的配置文件的名称(通常是产品名称) PAPP - GT; m_pszProfileName / /教授U​​IS配置文件的名称 );NET如何添加Visual Studio中。如框架窗口可调整大小的控制栏?
你应该在框架窗口添加CExtControlBar成员类的声明。创建一个可调整大小的控制栏是类似的工具栏。如何插入窗口可调整大小的控制吧?
当创建一个子窗口,通过指向CExtControlBar在"父窗口"参数的实例子窗口的Create()方法。在此之后,控制栏将自动调整其客户区的子窗口。到目前为止,可调整大小控制栏只允许生一个孩子的窗口如何添加对接菜单栏框架窗口?
对接菜单栏的实施,只是作为一个普通工具栏。任何需要在您的CMainFrame的应进行初始化在OnCreate()处理。此外,你需要添加一个框架窗口类CExtMenuControlBar类的成员。 ... ... (!m_wndMenuBar.Create( _T("菜单栏namequot;)&# 160; 这一点,  0; ID_VIEW_MENUBAR)| | !m_wndMenuBar.LoadMenuBar(IDR_MAINFRAME)) {  60; TRACE0(_T("无法创建菜单栏\ nquot;)); &# 160; 返回-1; } ... ... m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); ... ...   ; CExtControlBar:FrameEnableDocking(本); ... ... DockControlBar(AMP; m_wndMenuBar); ... ...
默认情况下,CExtMenuControlBar不激活菜单按下ALT键。为了实现这一目标,你应该重写的PreTranslateMessage()在框架窗口类的虚函数父前添加以下行的PreTranslateMessage():如果(m_wndMenuBar.TranslateMainFrameMessage(PMSG)) 返回TRUE;
在MDI的情况下,重复相同的子框架窗口类。有没有办法改变外观的控制条的抓手?
所有的教授统计研究所的Windows绘画与全球涂料经理(g_PaintManager变量)。这是一个聪明的的容器CExtPaintManager状物体。您可以安装自己的油漆从CExtPaintManager派生或管理类CExtPaintManagerXP/CExtPaintManagerOffice2003到你希望的任何重新油漆。因此,创建自己的类来自CExtPaintManager。然后重写PaintGripper()的方法。请咨询CExtPaintManager代码:PaintGripper()详细信息。如果m_bSideBar是真的,我们画可调整大小的抓手酒吧,这是一个标题。如果m_bFloating是真的,我们画的标题任何浮动的迷你框架窗口。如何清除关闭按钮从CExtControlBar?
你应该用自己的类派生从CExtControlBar(或CExtToolControlBar,或CExtMenuControlBar)覆盖OnNcAreaButtonsReinitialize()虚方法。这是源代码的CExtControlBar::OnNcAreaButtonsReinitialize():无效CExtControlBar:OnNcAreaButtonsReinitialize() { nCountOfNcButtons = NcButtons_GetCount();   ; 如果(nCountOfNcButtons GT; 0) &# 160; 回报; NcButtons_Add(新CExtBarNcAreaButtonClose(本)); #如果(!定义__EXT_MFC_NO_TAB_CONTROLBARS) NcButtons_Add(新CExtBarNcAreaButtonAutoHide(本)); #ENDIF / /(!定义__EXT_MFC_NO_TAB_CONTROLBARS) NcButtons_Add(新CExtBarNcAreaButtonMenu(本)); }如果你删除这一行NcButtons_Add(新CExtBarNcAreaButtonClose());的"X"按钮将消失。当控制在浮动状态栏窗口,它是一个miniframe内这是统计研究所教授自动创建和销毁的窗口。在此的"X"框架刚刚隐藏的窗口。所有的非客户区按钮实例从CExtBarNcAreaButton派生类。您可以写自己的按钮和初始化OnNcAreaButtonsReinitialize()。
我在MFC编程的新手。如何设置为教授,教科文组织统计研究所的文件的路径?
所有的教授统计研究所LIB和DLL文件中可以找到... \教授,统计研究所\ Bin6或... \教授统计研究所\ Bin7文件夹(VC 6或7)。您应该添加... \教授UIS \ INCLUDE文件夹"包含文件夹列表",在VC环境设置。此外,你应该添加... \教授统计研究所\ Bin6或... \教授统计研究所\ Bin7文件夹到"库文件夹列表"。在您的项目的预编译头文件(通常命名为StdAfx.h中)你应该加入这一行:#包括LT;教授,UIS.hgt;现在你的程序将被联系在一起的适当教授统计研究所图书馆(根据项目设置)。为了让您的程序运行,您可能需要复制到相同的文件夹与您需要教授统计研究所的DLL(如果任何必要的)程序的EXE文件。
如何使用教授,统计研究所控制(CExtComboBox,CExtButton等)?
只需更换相应的在您的代码标准的MFC类的教授- UIS。不要忘记,包括相应的​​头文件。如何加载/保存应用程序命令的用法统计数据?
命令管理器解决了这个问题g_CmdManager - GT; SerializeState()方法。如何更换标准与MFC工具栏统计研究所教授框架窗口?
首先,在头文件中包括ExtToolControlBar.h一帧窗口。二,更换CToolBar类名称CExtToolBar。最后,修改框架窗口处理程序代码在OnCreate():如果(m_wndToolBar.Create(! & #160; _T("工具栏namequot;) 这一点, AFX_IDW_TOOLBAR) | |!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("无法创建toolbarquot;); 返回-1;& #160; }如何设定/改变工具栏上的按钮的文本在菜单的菜单项?
你应该从命令管理器的命令符,然后,设置文本属性m_sToolbarText和m_sMenuText。如果你必须设置/更改文本框架窗口已创建后,调用RecalcLayout()方法的框架。 CExtCmdManager:cmd_t * p_cmd; p_cmd = g_CmdManager - GT; CmdGetPtr(ID_. ..); ASSERT(p_cmd = NULL); p_cmd - GT; m_sMenuText = _T("菜单textquot;);& #160; p_cmd - GT; m_sToolbarText = _T("工具栏textquot;);
创建一个对话框控件的ID值等于现有的ID的控制工具栏上的按钮。然后,设置,然后通过调用控制按钮CExtToolControlBar::SetButtonCtrl()方法。
如果没有命令,如在应用程序菜单的ID,那么它是建议设置此命令的菜单文本。这使按钮/控制要显示正确的情况下,有没有在它的工具栏上的空间。 (!m_wndComboFindText.Create( WS_CHILD | WS_VISIBLE | CBS_HASSTRINGS | CBS_DROPDOWN CRECT(0,0,180,200), 放大器; m_wndToolBarStandard ID_HELP_SEARCH_COMBO)) { TRACE0(_T("无法创建ID_HELP_SEARCH_COMBO \ nquot;)); 返回-1; / /未能创建 } m_wndToolBarStandard.SetButtonCtrl( m_wndToolBarStandard.CommandToIndex(ID_EDIT_FIND) AMP; m_wndComboFindText ); m_wndComboFindText.SetFont(   ; 的CFont::FromHandle((HFONT)::GetStockObject(DEFAULT_GUI_FONT))); m_wndComboFindText.SetItemHeight( m_wndComboFindText.GetItemHeight(-1,-1) - 1); g_CmdManager - GT; CmdGetPtr(m_wndComboFindText.GetDlgCtrlID())- GT; m_sMenuText = _T("搜索帮助systemquot;); CZoomBarSliderButton * pZoomSliderTBB =新CZoomBarSliderButton(   ; AMP; m_wndToolBarZoom &# 160; ID_MYEXTBTN_SLIDER, &# 160; 0 11,4,0,/ /滚动总/ POS /页 0,0, / /按钮的程度HORZ(左/右)/垂直(上/下)像素 / /(如果使用零 - 滑块般的布局而不是滚动般) 100,100 / /总滑块控制的程度HORZ /垂直像素 ); VERIFY(m_wndToolBarZoom.InsertSpecButton(-1,pZoomSliderTBB,FALSE)); CSeekBarSliderButton * pSeekScrollerTBB =新CSeekBarSliderButton(  0; AMP; m_wndToolBarSeek ID_MYEXTBTN_SCROLLER, 0 0,0,0,/ /滚动总数/ POS /页 10,10,/ /按钮的程度HORZ(左/右)/垂直(向上/向下以像素为单位) / /(如果使用零 - 滑块般的布局而不是滚动般) 300,300 / /总滑块控制的程度HORZ /垂直像素  0; ); VERIFY(m_wndToolBarSeek.InsertSpecButton(-1,pSeekScrollerTBB,FALSE));
{S2}{S3}如何添加/删除/命令UI状态剖面经理吗?
教授统计研究所支持多配置文件的UI状态的持久性。每个配置文件都有其独特的名称和窗口句柄。 g_CmdManager - GT; ProfileSetup(_T("; ProfileSectionNamequot";),HWND);
CExtToolControlBar类商店HMENU为每一个按钮的属性。您可以通过激活CExtToolControlBar:SetButtonMenu()。 CExtCmdManager:cmd_t * p_cmd; CMenu _menu;  0; p_cmd = g_CmdManager - GT; CmdGetPtr(ID_CMD_. ..);  60;ASSERT(p_cmd = NULL); VERIFY(_menu.LoadMenu(ID_MENU_. ..)); VERIFY( m_wndToolBarMain.SetButtonMenu( m_wndToolBarMain.CommandToIndex(ID_CMD_. ...),  0; _menu.Detach(),  0;为TRUE ) );如何显示教授统计研究所先进的彩色对话框?
教授的统计研究所提供了一个先进的颜色选择对话框的颜色设置导航模式。刚刚宣布的CExtColorDlg对象,并调用DoModal()。使用m_strCaption成员设置自定义对话框的标题。要设置初始颜色,使用m_clrInitm_clrNew成员。有些模式显示如下:
{S4}的用户界面管理器是一个CExtPaintManager或实例之一源于它是在一个全球性的智能指针变量存储g_PaintManager。 CExtPaintManager方法用于绘图办公室98/2K/2003提供的所有支持的接口组件外观。教授,研究所还包括CExtPaintManagerXP在办公室使用绘图CExtPaintManagerOffice2003类XP和Office 2003风格。下面的几行描述了如何设置办事处98/2K/2003界面风格。 VERIFY( g_PaintManager.InstallPaintManager(新CExtPaintManager) & #160;); VERIFY( g_PaintManager.InstallPaintManager(新CExtPaintManagerXP) ); &# 160; VERIFY( g_PaintManager.InstallPaintManager( 新CExtPaintManagerOffice2003) );DRAWCLI
这个示例应用程序基于微软的OLE样本服务器容器技术支持说明使用,OLE OLE动词菜单客户端 - 服务器兼容的控制栏,在菜单栏中的颜色选择器菜单在工具栏,工具栏按钮与动态生成的图标,所有者绘制菜单,等等。GLViews
演示如何输出呈现的图像(OpenGL的动画),同时向主视图和居住在可调整大小控制条可停靠的意见。这多线程应用程序,允许您选择在每个视图的积极相机,设置其参数,并执行6自由度模拟相机演习。 GLViews也说明了一个三维表面上打一个AVI文件,OpenGL的模板基于缓冲区的反思,并在动画的帧图像渲染。阿维框架
显示了如何使用内置教授统计研究所的工具栏的滑块按钮。 "标准滚动滑块的功能,如可选的滚动箭头按钮酒吧。样品中表示变焦和寻求滑块按钮演示如何 控制的AVI文件的播放。状态栏窗格
演示教授UIS状态栏的功能。这种控制,这是一个标准的MFC状态栏的增强版本,使您可以轻松地添加或删除窗格上飞。其窗格可能包含你需要的几乎所有的控制:按钮,编辑,动画,进度条,等等。有趣的酒吧
显示如何使用不同大小和不同颜色深度的图标工具栏。它还演示了如何为工具栏按钮,更改字体,字体大小和字体样式的标题以及飞的按钮图像。 ProfUIS_Controls
说明包括工具栏和菜单栏"对话框中的主要控制窗口,用户定义的工具栏按钮和标签,弹出所有者绘制菜单项目和左边的区域,在系统托盘弹出菜单,菜单的动画效果,强大的拾色器的菜单和对话框,以及更多。ResizablePropertySheet
一个简单的Resizable属性表为基础的应用程序。使用说明作为应用程序的主窗口Resizable属性表窗口。ResizableChildSheet
演示如何使用作为子窗口CExtResizablePropertySheet可调整大小的控制栏和MDI子框架。StateInFile
一个简单的单文档界面的应用程序没有文档/视图结构支持演示如何将其保存在当前状态的控制条文件。 MDI_InnerOuterBars
一个简单的乘法文件没有文档/视图界面的应用程序架构的支持演示了如何使用控制条在MDI框架窗口和MDI子窗口。FullScreenState
阐释之间切换时控制栏的状态持久性在窗口和全屏模式。FixedSizePanels
演示如何实现与固定大小的不同类型的酒吧包括对话框的酒吧,调色板酒吧,自定义绘制的面板。MthOutput
显示了多线程的输出放置在可调整大小的控制,以丰富的编辑控制酒吧和MDI子框架。版本2.23
2004年1月15日发布。新功能改进Office 2003的风格?阿尔法使用禁用的菜单和工具栏项目的图标时,微软实验子系统的原生Unicode字符支持德国,波兰,瑞典和俄罗斯的本地化Bug修复复杂的浮动调色板固定的臭虫造成崩溃中含有较多的不止一个可调整大小的酒吧更正工具栏的雪佛龙按钮的样式时,微软Office??XP/2003的用户界面样式上版本2.22
2003年9月25日发布。新功能微软Office?2003年的主题,基于经典的GDI API和本地的Windows XPS?主题的API多显示器支持的Visual Studio NET 2003的兼容性?改进对接算法的工具栏增强算法处理消息循环,使窗口大小顺畅Bug修复修正了一个不正确的系统菜单的初始位置后的对话框标题上点击鼠标右键修正XP风格的错误太多阴影下的系统菜单中的项目版本2.21
2003年7月8日发布。新功能固定大小的控制条(增强的工具栏和一个完全新的面板栏)一个新的强大的"老大难affixment算法",这使他们非常用户友好。控制条可以恢复他们的确切位置和大小redocking酒吧或调整的框架。内置的工具栏按钮地区划分下降。CExtButton按钮控制,现在可以支持地区划分下拉。所有的上下文菜单,在不同的帧地区(包括控制条 版本2.1



int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

		return -1;

 

	BOOL status = m_wndToolBar.Create(_T("Prof-UIS Toolbar"), this, AFX_IDW_TOOLBAR); // here things go wrong...

	BOOL status2 = m_wndToolBar.LoadToolBar(IDR_MAINFRAME);

	if(status == FALSE || status2 == FALSE)

	{

		TRACE0("Failed to create toolbar\n");

		return -1;      // fail to create

	}

....



1。2。3。


最好的问候,
最好的问候,

最好的问候,
最好的问候,




最好的问候,




谢谢您


最好的问候,





感谢
最好的问候,

最好的问候,

回答