delphi自定义文件对话框_Smart3D自定义图纸版次属性及应用

本文介绍了如何在Smart3D中自定义图纸版次属性,包括编辑Sample Custom Revision Properties for Bulkload.xls文件,使用Bulkload工具导入,修改Revision.xsd文件添加新属性,编辑图框模板并在图纸上放置自定义属性。通过这些步骤,用户可以为图框添加独特的版次标签。
摘要由CSDN通过智能技术生成
Smart3D自定义图纸版次属性及应用 在图框上添加自定义的版次属性 Place a Custom Revision Property on a Border如下步骤展示了如何在图框上添加自定义的版次属性。 在图框上添加非自定义属性,查看《Smart3D图纸属性label应用 》。1. 打开 Sample Custom Revision Properties for Bulkload.xls 的excel文件, 该文件可以在官方支持网站上下载。对文件根据需要进行编辑,保存并退出。 2. 使用Bulkload工具对 Sample Custom Revision Properties for Bulkload.xls 的文件进行导入操作。关于导入的相关操作可以参考帮助文档中的参考数据库管理手册。 3. 找到 [Reference Data Folder]\SharedContent\Drawings\Catalog\Labels\Border\Schema  文件夹,并打开 Revision.xsd 文件。4. 在下拉列表中,当放置图纸属性标签时,添加一行新的属性。比如, 以 CustomLong 为属性名称,这一行数据应该如下:.5. 添加一行指向导入的该自定义的接口和属性的数据。比如, 接口名为 IJDwgCustomRevision属性名为TestLong,那么填写的数据如下:[@pk='IJDwgCustomRevision_TestLong']. 得到的 .xsd 文件效果示例如下:                                                 [@pk='IJDwgCustomRevision_TestLong']value'/>            6. 进入Drawings and Reports模块, 点击Tools > Edit Border Template。7. 进入选择图框对话框,选中一个图框文件,点击OK。之后, SmartSketch Drawing Editor会自动打开图签文件。8. 在分组列表中,选则 Revisions.9. 在第二组列表中,选则使用的新增的自定义版次属性。 10. 视图切换调整至需要放置版次标签的位置,左键单击以完成放置。 11. 继续放置其他所需的属性。12. 右键单击以结束当前命令。13. 在推着SmartSketch Drawing Editor之前,保存图框文件。14. 更新与该图框相关的图纸。15. 右键点击图纸,并且选中属性。 16. 打开Revision标签栏,就可以看到新增的自定义属性。 17. 验证自定义属性的添加效果,右键单击图纸选则打开。包含自定义版次属性的图纸图框如下。 19e09484731bdb723d03c83538ad682a.png
应用程序在运行当中经常要输出各种即时信息,Delphi提供了多种形式的消息对话框可以满足这些要求,尽管可以使用各种标志定制一个消息框,但仍不能将自己的图标放在消息框内,也不能修改其标准行为去创建自己的消息框,其实通过调用函数MessageBoxIndirect()就很容易绕过这些明确的限制,这是一个功能很强、易于使用的函数。 ---- 此函数在WINDOWS单元里面,文件位于Delphi安装路径Source\Rtl\Win里面,需要指出的是,Delphi的原代码中它的返回值类型是BOOL型,而实质上它的返回值应为Integer。修改方法:在WINDOWS单元中找到此函数后,把BOOL改为Integer,共有三处要修改,然后在Delphi安装路径Lib中找到WINDOWS.DCU文件,把它改名或者删除,并把修改后的WINDOWS.PAS源码复制到Lib路径中。 ---- 该函数只有一个参数,类型是TMsgBoxParams,它的结构及说明如下: tagMSGBOXPARAMSA = packed record cbSize: UINT; {数据结构的长度} hwndOwner: HWND; {所有者窗口句柄} hInstance: HINST; {应用程序实例句柄} lpszText: PAnsiChar; {在消息框客户区内显示的文本} lpszCaption: PAnsiChar; {标题栏文本} dwStyle: DWORD; {确定消息框内按钮和图符 的数量及种类的MB_标志} lpszIcon: PAnsiChar; {从资源文件中取出的一个 图符资源的名字} dwContextHelpId: DWORD; {指定帮助文本的ID号} lpfnMsgBoxCallback: TPRMsgBoxCallback; {当用户按下HELP按钮时调用的一个回 调函数} dwLanguageId: DWORD; {显示在按钮内文本的语言定义} end; ---- 由于直接使用此函数比较复杂,我们可以自定义一个函数来封装此函数,对它进行简化,在用法上尽量做到与Delphi的消息框相一致,自定义函数代码如下: function MessageEx (lText,lCaption:PChar; lStyle:DWord;lIcon:PChar):Integer; var Msg:TMsgBoxParams; begin Msg.cbSize:=Sizeof(Msg); Msg.hwndOwner:=Application.Handle; Msg.hInstance:=hinstance; Msg.lpszText:=lText; Msg.lpszCaption:=lCaption; Msg.dwStyle:=lStyle; Msg.lpszIcon:=lIcon; Msg.dwContextHelpId:=1; Msg.lpfnMsgBoxCallback:=nil; Msg.dwLanguageId:=LANG_NEUTRAL; Result:=MessageBoxIndirect(Msg); end; ---- 要想在消息框中显示自己的图标,先准备一个装有图标的资源文件,加在程序中,如{$R c:\mydir\myres.res},在lStyle参数里除了所需的MB_标志外还要加上MB_USERICON标志,并在最后一个参数里写上资源文件中图标的名字,如果不想使用自定义的图标,可将最后一个参数设为nil。函数的其它用法和返回值的处理与Delphi提供的消息框一样。 ---- 强烈建议把自定义函数放在一个单元文件里,并把此文件放在Delphi的搜索路径如Lib下,以后只需要把此单元加在uses语句里,就可以直接使用自定义函数,非常方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值