
ATL
shaoqiang
这个作者很懒,什么都没留下…
展开
-
保持ActiveX控件固定大小
怎样使自己编写的控件象VB中Timer控件一样不让用户调整控件大小,一般适用于非界面控件。在控件类的构造函数中编写代码。 CArmHand() { m_bWindowOnly = true; // Dont allow a resize m_bAutoSize = true; // Set the initial size SIZEL size = {32, 32}; Atl原创 2008-01-23 15:16:00 · 1228 阅读 · 0 评论 -
ATL ActiveX 控件的方法或事件中使用枚举常量
ATL ActiveX控件一般在方法(包括属性)和事件反馈中使用枚举常量。可以在控件的IDL文件中编写代码,见彩色部分代码。import "oaidl.idl";import "ocidl.idl";[ object, uuid(A0A2E087-0A96-4861-BED2-549F9A0AC2C2), dual, nonextensible, helpstring("IHLMessag原创 2008-02-18 09:29:00 · 847 阅读 · 0 评论 -
ATL ActiveX 控件的方法或事件中使用枚举常量 (补遗)
在控件的IDL文件中定义枚举常量枚举常量定义格式一: enum HL_MSG_STYLE { HL_MSG_INFOMATION = 0, HL_MSG_ERROR = 1 } ; 格式一定义的枚举常量在VB的对象浏览器中是看不到的。枚举常量定义格式二: typedef [ uuid(768030AC-9B38-4013-A3B9-834C9B95FA37) ]原创 2008-02-18 09:45:00 · 656 阅读 · 0 评论 -
绘制ActiveX控件图标
怎样使得ActiveX控件在VB窗体中显示为一个形象的图标。在控件类的OnDraw()中编写绘制图象代码。 HRESULT OnDraw(ATL_DRAWINFO& di) { HBITMAP bitmap = LoadBitmap( ATL::_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE( IDB_ARMHAND )原创 2008-01-23 16:28:00 · 975 阅读 · 0 评论 -
ATL3.0组件注册bug的解决方法
ATL3.0编写的组件在注册时,如果组件所在目录包含中文路径,不能在注册表生产正确的路径,从而产生虽然注册成功,却不能使用的问题,因为在注册表记录的DLL路径中文部分有乱码。这个问题很久以前就发现,一直没有解决。前段时间在网上搜索到解决方案,并转载在blog上,却一直没有实际试用。今天企图使用,却发现不成功,昏倒,试了几次都不行。看来网上的代码还是不能轻信。不知道文章的作者有没有实际调试成功,转载 2009-04-03 08:42:00 · 577 阅读 · 0 评论