
适用版本:NX6版本以上
01概述
在以前的技巧中,介绍了SetAutoCommit这个内部函数可以绕开NX的界面刷新的APPLY响应,但会遇到点问题,如果点击鼠标中键,就相当于“确定”了,对话框直接关闭,不是很合理,正常需要点击对话框下方的“关闭”按钮去进行关闭,所以这里进行补充说明,通过鼠标钩子拦截信息,进行跳过关闭对话框响应。
02功能说明
方法具体如下:
钩子类里设置一个标记成员变量(mIsMidClick),对鼠标按钮按键后响应进行改写,响应前这个标记始终为假:



只有对当前这个设置了“SetAutoCommit”的按钮进行鼠标中键消息拦截,设置钩子的标记mIsMidClick为真:

在消息处理函数中,识别到如果mIsMidClick为真,则直接返回0,不进行后续操作,就不会关闭当前对话框。

03总结
NX开发时经常需要使用钩子,鼠标钩子、键盘钩子,以及消息处理等,本次技巧中通过使用钩子巧妙拦截鼠标响应,达到不执行后续功能目的。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...