CAD工具栏显示与隐藏(c++)

隐藏或显示接口


显示或隐藏所有工具条:


C++接口 MxDraw::ShowToolBars


显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明。


C++接口 MxDraw::ShowToolBar



MxDraw::ShowToolBar 方法


接口:


static BOOL ShowToolBar(IN MXDRAWOCXHANDLE hOcx, IN const CString& sToolBarName, BOOL isShow);


参数:


参数 说明

IN MXDRAWOCXHANDLE hOcx

控件句柄  

IN const CString& sToolBarName  

工具条名,在工具条定义文件(扩展名为mxt)中的第一行第五列

BOOL isShow

为TRUE显示工具条,否则隐藏工具条


显示或隐藏工具条上某个按钮


C++接口 MxDraw::HideToolBarControl


例如VC代码隐藏绘图工具栏上的绘线和绘矩形框按钮:


MxDraw::HideToolBarControl(m_hDrawOcx,_T("绘图工具"),_T("绘线,绘矩形框"));



禁用工具条上某个按钮


C++接口 MxDraw::EnableToolBarControl


例如禁用打印按钮:


MxDraw::EnableToolBarControl(m_hDrawOcx,_T("打印图形"),FALSE);


工具条文件


CAD控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具条, 如下:


文件名 说明
MxDraw-ToolBar.mxt 常用工具条
MxDraw-ToolBar-Draw.mxt 绘图工具条
MxDraw-ToolBar-DrawParam.mxt 特性工具条
MxDraw-ToolBar-Edit.mxt 编辑工具条
MxDraw-ToolBar-ET.mxt 扩展工具条


把不需要的工具条文件删除,CAD控件加载时就不会显示该工具条。


它是文本文件,用记事本打开编辑,格式如下:


“//”是文件中的注释。


文件中第一行是工具条文件头信息,每列内容如下:


如:("MxDrawToolBarFile" "MxDraw.dll" (214 211 206) "top" "常用工具" "Y")


第几列 例程中的内容 说明
1 "MxDrawToolBarFile" 工具条文件标志字符串
2 "MxDraw.dll" 工具条中按钮图片资源加载文件 注:后面图标默认从该dll中加载
3 "(214 211 206)" 在资源文件中,按钮图片的透明色
4 "top" 位置,可以是:top,left,bottom,right
5 "常用工具" 工具条名称 注:显示\隐藏函数会使用
6 "Y" 是否可以浮动,Y \N


文件中后面每行代表一个工具条按钮。


每列的内容如下:


如:("打开网上dwg文件" "打开网上dwg文件" "_OpenWebDwg" "IDB_OPENWEBDWG_BITMAP" "" "" "" "Y")


命令名称 命令提示字符串 命令名 控钮在资源文件中的位图ID ID类型 资源文件名 命令ID 没有命定义时,是否不要加载工具按钮
打开网上dwg文件 打开网上dwg文件 _OpenWebDwg IDB_OPENWEBDWG_BITMAP "" "" "" "Y"


命令名称:


"打开网上dwg文件"。


命令提示字符串:


"打开网上dwg文件"。


命令名:


C++使用McEdCommandStack :: addCommand增加,例如下:

acedRegCmds()->addCommand(_T("SysCmd"),

_T("OpenDwg"), _T("OpenDwg"), 1, OpenDwg);


CAD控钮在资源文件中的位图ID:


" IDB_OPENWEBDWG_BITMAP "。


ID类型:


目前CAD控件内部使用,一般为空。


资源文件名:


1.  为空取默认资源文件名,该名称,需要去掉控件版本号如: MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。

2.  资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp

3.  资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp 


命令ID:


指定菜单点击后响应的命令事件id,如不为空,可以在控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。


没有命定义时,是否不要加载工具按钮:


"Y"


自定义按钮参考例子:samples\AspNet\AspNet\My-MxDraw-ToolBar.txt。


比如:按钮图标从本地bmp文件加载:


("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" " local:mytoolbar.bmp")


比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:


("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp")


从指定文件加载


CAD控件默认是加载CAD控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件。


C++接口: MXDRAWOCXHANDLE MxDraw::CreateMxDraw第四个参数指定工具条加载文件


显示加载工具条文件


CAD控件支持在需要时,再动态加载工具条文件,接口说明如下:


C++接口: MxDraw::LoadToolBar


例如:


void CTestDlg::OnBnClickedLoadtoolbarButton1()
    {
        CFileDialog openDlg(TRUE,_T("mxt"),NULL,
            OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
            _T("mxt(*.mxt) | *.mxt||"),AfxGetApp()->GetMainWnd());
        if(openDlg.DoModal() == IDOK)
        {
            CString sToolBarFilePath = openDlg.GetPathName();
            MxDraw::LoadToolBar(m_hDrawOcx,sToolBarFilePath);
        }
}

猜你喜欢

转载自www.cnblogs.com/yzy0224/p/11088265.html