[已解决]_GUICtrlToolbar_Create建的工具条,有可能在什么情况下图标会不显示?
本帖最后由 happytc 于 2011-8-25 23:48 编辑正在写实现QQ样的截图。
写得太久,头大了,代码只有四五百行时还没有问题,图标是可以显示的
现在增加到快到2000行了,结果别的都正常可用了,就是不显示图标了,得把鼠标指针划过/放在上面才显示。如下图所示。
代码现在还太乱了,估计也没有人会帮看这么长的代码,也就不上传了。
这个工具栏是子窗口
$hTopMostGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_DISABLED))
$ToolWin = GUICreate("", 250,30, 500, 300, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST), $hTopMostGUI)
$ToolBar = _GUICtrlToolbar_Create($ToolWin)
GUICtrlSetBkColor(-1, 0xE0EAF3)
$ToolImage =_GUIImageList_Create(20, 20)
For $I = 0 To 9
_GUIImageList_AddIcon($ToolImage, @ScriptDir & "\Icon.dll", $I)
Next
_GUICtrlToolbar_SetHotImageList($ToolBar, $ToolImage)
_GUICtrlToolbar_AddButton($ToolBar, $IdText, 0, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($ToolBar, $IdArrow, 1, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($ToolBar, $IdRectangle, 2, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($ToolBar, $IdEllipse, 3, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($ToolBar, $IdCurve, 4, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButtonSep($ToolBar)
_GUICtrlToolbar_AddButton($ToolBar, $IdUndo, 5)
_GUICtrlToolbar_AddButton($ToolBar, $IdExit, 6)
_GUICtrlToolbar_AddButtonSep($ToolBar)
_GUICtrlToolbar_AddButton($ToolBar, $IdCopy, 7)
_GUICtrlToolbar_AddButton($ToolBar, $IdSave, 8)
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
;--------------------
{:face (197):} 我倒是想知道你的调色板是如何做出来的?? 11行改成 _GUICtrlToolbar_SetImageList。 回复 2# powerofos
这个简单呀,GUICtrlCreateLabel创建的,加上$WS_EX_CLIENTEDGE就可以了 回复 3# pusofalse
果然是这样! 非常感谢了,我花了差不两个小时也没有找到问题在那里?还一直怀疑着父/子窗口的问题呢
原来是这个东西呀,估计我原来最开始写的时候是用的这个,后来修改时,反正是自动补全,就没有注意了。我都不知道还有这两种方式呢,它们之间有啥区别呀?
_GUICtrlToolbar_SetImageList
_GUICtrlToolbar_SetHotImageList
看帮助里也没有仔细说,SetHotImageList截获的消息发现是自定义的WM_USER+52
页:
[1]