好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

XtremeToolkitPro使用经验总结.doc

7页
  • 卖家[上传人]:ni****g
  • 文档编号:538209539
  • 上传时间:2022-10-31
  • 文档格式:DOC
  • 文档大小:51KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • XtremeToolkitPro使用经验总结1前言1.1安装和使用1.1.1怎样安装和编译XTP?XTP提供了安装包,安装和编译都非常方便主要要注意选择我们所需的编译器和编译版本编译器目前选择VisualC++Version8.0(2005),编译配置包含以下三种:AsaDLLAsstaticlibrary一forapplicationsusingMFCasDLLAsstaticlibrary一forapplicationsusingMFCasstaticlibrary其中第一个是将XTP编译成动态链接库,后面两个是将XTP编译成静态链接库,第二个MFC使用的是动态库,而第三个MFC使用的是静态库如果应用程序是单个发布,并且考虑到用户机器可能没有MFC动态库,这种情况下采用第三个配置比较好,如果是发布整个项目项目中很多应用程序都使用到了MFC和Xtreme,那么采用前两个配置比较合适因此我们应根据实际情况在应用程序中选择使用所需的Xtreme版本Xtreme支持Unicode,编译之前必须选择“UnicodeSupport”详细内容参见其附带的《UserGuide》文档1.1.2静态链接在stdafx.h文件末尾加上:#define_XTP_STATICLINK#include如果我们使用的Xtreme类在内部用到了它自定义的资源,那么还必须在res\*.rc2文件末尾加上:#include"XTToolkitPro.rc"需注意的是,*.rc2文件必须要以空行结尾,否则资源编译器会报告一个“文件未结束”错误。

      1・1・3使用中文版本的XTP动态链接库:打开XTP工程,找到源文件ToolkitPro.rc并选中它,选择菜单[Proje(OProperties],在【Resources—General】下的【PreprocessorDefinitions】中加入_XTP_RESOURCE_LANGUAGE=zh_CN,注意与已有的宏定义之间需要用分号隔开然后重新编译即可静态链接库:在应用工程的*.rc2文件末尾加上如下代码:#define_XTP_RESOURCE_LANGUAGEzh_CN#include"XTToolkitPro.rc"需说明的是,这里的zh_CN实际上是资源文件的后缀名,比如,在“Source/Calendar/res”目录下存在很多.re文件,以zh_CN作后缀的表示中文资源文件因此,如果我们需要使用其它语言的XTP库,只需将宏_XTP_RESOURCE_LANGUAGE定义相应语言对应的资源文件后缀名即可解决fatalerrorC1083:Cannotopenincludefile:'XTToolkitPro.h':Nosuchfileordirectory设置环境目录D:\ProgramFiles\CodejockSoftware\MFC\XtremeToolkitProv11.2.2\SourceD:\ProgramFiles\CodejockSoftware\MFC\XtremeToolkitProv11.2.2\lib\vc80#define_XTP_STATICLINK1.2窗口停靠(Docking)1.2.1 如何关闭和显示停靠面板?停靠面板CXTPDockingPane中的Hide方法指的是将停靠面板“折叠”起来以标签形式显示在停靠边上,而Close方法才是将整个面板完全隐藏。

      注意调用Close后,控件不会销毁,仅仅是不显示通过IsClosed方法可以判断面板当前是否为关闭状态停靠面板的显示是通过其管理类CXTPDockingPaneManager的showPane方法来实现下面的代码片段显示了通过菜单来控制某个停靠窗口的关闭和显示:voidCMainFrame::OnViewPreview(){#XtremeToolkitPro使用经验总结1刖言1.7窗口大小与位置(Resize)if(m_pwndPanePreview-〉IsClosed())m_paneManager.ShowPane(m_pwndPanePreview,FALSE);elsem_pwndPanePreview-〉Close();}voidCMainFrame::OnUpdateViewPreview(CCmdUI*pCmdUI){pCmdUI-〉SetCheck(!m_pwndPanePreview-〉IsClosed());}1.2.2如何限制客户区的大小?在有停靠窗口的SDI或MDI界面中,客户区(比如视图)不会响应WM_GETMINMAXINFO消息,大小并不会受其处理函数的影响,而是由CXTPDockingPaneManager所控制。

      CXTPDockingPaneManager有一个公共成员变量m_ptMinClientSize用于限制视图区的大小,示例代码如下:m_paneManager.m_ptMinClientSize=CPoint(400,200);1.3工具栏(Toolbar)1.3.1 怎样禁止菜单栏移动?pCommandBars-〉SetMenu(_T"MenuBar"),IDR_MAIN_MENU);//设置菜单CXTPMenuBar*pMenuBar=GetMenuBar();//获得菜单pMenuBar-〉EnableDocking(xtpFlagAlignTop);//禁止菜单栏浮动,只在窗口上方显示pMenuBar—〉ModifyBarStyle(CBRS_GRIPPER,0);//禁止菜单栏移动1.3.2 怎样隐藏菜单栏?菜单栏等工具栏是放置于CXTPDockBar上的,当我们隐藏菜单栏后,CXTPDockBar并不会隐藏,因此会在界面上留下一条矩形区域,由于CXTPDockBar也是从CWnd派生的,因此只需将CXTPDockBar隐藏即可具体方法为:pMenuBar-〉SetVisible(FALE);//隐藏菜单栏pMenuBar-〉GetDockBar()-〉ShowWindow(SW_HIDE);//隐藏DockBar显示或隐藏工具条也可以通过CXTPCommandBars::ToggleVisible实现,它在调用CXTPToolBar::SetVisible的同时,还会更新数据修改标志。

      1.4分割窗口1.4.1 为什么使用静态库时鼠标指针位于分割条上不显示“调整大小”光标?这是由于“调整大小”光标是XTreme的自定义资源,我们需要在*.rc2文件中包含资源文件,如下:#include//在*rc2中包含此头文件,其中包含光标资源1.5界面风格(Theme)1.6资源管理器(Explorer)1・6・1怎样实现类似于Windows资源浏览器的界面?XTP提供了相应的树型控件CXTShellTreeCtrl和列表控件CXTShellListCtrl,SetIncludeExtensions示例工程:UserInterfaceSamples/ExplorerUI1・6・2怎样限制CXTShellListCtrl中显示的文件类型?CXTShellListCtrl提供了SetIncludeExtensions方法用于设置需要显示的文件类型后缀名列表,比如如下代码m_shellList.SetIncludeExtensions(_T("*.bmp;*.jpg;*.jpeg;*.gif"))但是,SetIncludeExtensions无法控制文件夹的显示,要想不显示文件夹,必须从CXTShellListCtrl派生出一个类,并重写CXTShellListBase中的虚函数isItemFiltered,该函数用于决定当前目录中的某个项目(包括文件或文件夹)是否需要被排除,其默认实现如下只需修该其前两条语句就行:BOOLCXTShellListBase::IsItemFiltered(LPCTSTRlpszItemName,ULONGulItemAttrs){if(ulItemAttrs&SFGAO_FOLDER)returnFALSE;//这里对于文件夹直接返回FALSE,因此文件夹将会被添加到列表中if(!m_csIncludeEXT.IsEmpty()){TCHARszDrive[_MAX_DRIVE];TCHARszDir[_MAX_DIR];TCHARszFileName[_MAX_FNAME];TCHARszExt[_MAX_EXT];SPLITPATH_S(lpszItemName,szDrive,szDir,szFileName,szExt);if(_tcsclen(szExt)==0)returnm_csIncludeEXT.Find(_T("*.;"))==-1;returnm_csIncludeEXT.Find(szExt)==-1;}returnFALSE;}1.7窗口大小与位置(Resize)1.7.1 某些场合窗口初始位置不对,需要改变窗口大小之后才能自动定位,该怎么办?直接在窗口的初始函数(比如OnInitialUpdate)中调用CXTResize的Size方法即可。

      XtremeToolkitPro使用经验总结#。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.