开发环境VB6
OCX工程 ctlTooltip 显示自定义颜色,文字的提示框OCX文件 ctlTooltip.cls
=========================调用类的过程=============================
Dim clsTooltip as newclsTooltip
With clsTooltip
.AssignTooltip lblExample,"kkk" ' 给控件添加Tooltip及tip的内容
End With
Set ctlTooltip = Nothing
================================================================='类文件clsTooltip.cls Tooltip是用API实现的
Private Const TTM_ADDTOOLA = (WM_USER + 4)Public sub AssignTooltip(byref hTarget as object,byref msg as string)
====================== 问题出在下面这个API里 ======================
TipWindow = CreateWindowEx(0&, TOOLTIPS_CLASSA, "", _
TTS_ALWAYSTIP Or TTS_BALLOON, 0, 0, 0, 0, _
hTarget.hwnd, 0&, App.hInstance, 0&)
=================================================================
SetWindowPos TipWindow, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
GetClientRect hTarget.hwnd, RECT With ti
.cbSize = Len(ti)
.uFlags = TTF_CENTERTIP + TTF_SUBCLASS
.etc
End With
SendMessage TipWindow, TTM_ADDTOOLA, 0, ti
End sub在开发环境下用exe调用OCX,一切正常,可以显示Tooltip,颜色,文字都可以用TTM_UPDATETIPTEXTA/TTM_SETTIPTEXTCOLOR的修改。
但是把exe-Make成执行程序之后再执行,就发现Tooltip值不显示了。用Msgbox看发现上面==TipWindow==的值为0. CreateWindowEx函数没有返回需要的值。为什么?请教下大家?
OCX工程 ctlTooltip 显示自定义颜色,文字的提示框OCX文件 ctlTooltip.cls
=========================调用类的过程=============================
Dim clsTooltip as newclsTooltip
With clsTooltip
.AssignTooltip lblExample,"kkk" ' 给控件添加Tooltip及tip的内容
End With
Set ctlTooltip = Nothing
================================================================='类文件clsTooltip.cls Tooltip是用API实现的
Private Const TTM_ADDTOOLA = (WM_USER + 4)Public sub AssignTooltip(byref hTarget as object,byref msg as string)
====================== 问题出在下面这个API里 ======================
TipWindow = CreateWindowEx(0&, TOOLTIPS_CLASSA, "", _
TTS_ALWAYSTIP Or TTS_BALLOON, 0, 0, 0, 0, _
hTarget.hwnd, 0&, App.hInstance, 0&)
=================================================================
SetWindowPos TipWindow, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
GetClientRect hTarget.hwnd, RECT With ti
.cbSize = Len(ti)
.uFlags = TTF_CENTERTIP + TTF_SUBCLASS
.etc
End With
SendMessage TipWindow, TTM_ADDTOOLA, 0, ti
End sub在开发环境下用exe调用OCX,一切正常,可以显示Tooltip,颜色,文字都可以用TTM_UPDATETIPTEXTA/TTM_SETTIPTEXTCOLOR的修改。
但是把exe-Make成执行程序之后再执行,就发现Tooltip值不显示了。用Msgbox看发现上面==TipWindow==的值为0. CreateWindowEx函数没有返回需要的值。为什么?请教下大家?
是放在同一个文件夹下的。而且程序已经成功调用OCX了。我觉得问题还是因为DEBUG环境和MAKE出来的程序有区别而导致的。
2005年有个帖子里写了,是没加InitCommonControlsEx导致的 - -!