happytc 发表于 2011-8-24 15:48:27

[已解决]_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")
        ;--------------------

powerofos 发表于 2011-8-24 20:30:31

{:face (197):} 我倒是想知道你的调色板是如何做出来的??

pusofalse 发表于 2011-8-25 05:32:16

11行改成 _GUICtrlToolbar_SetImageList。

happytc 发表于 2011-8-25 08:29:55

回复 2# powerofos


    这个简单呀,GUICtrlCreateLabel创建的,加上$WS_EX_CLIENTEDGE就可以了

happytc 发表于 2011-8-25 08:47:11

回复 3# pusofalse


果然是这样!   非常感谢了,我花了差不两个小时也没有找到问题在那里?还一直怀疑着父/子窗口的问题呢
原来是这个东西呀,估计我原来最开始写的时候是用的这个,后来修改时,反正是自动补全,就没有注意了。我都不知道还有这两种方式呢,它们之间有啥区别呀?

_GUICtrlToolbar_SetImageList
_GUICtrlToolbar_SetHotImageList

看帮助里也没有仔细说,SetHotImageList截获的消息发现是自定义的WM_USER+52
页: [1]
查看完整版本: [已解决]_GUICtrlToolbar_Create建的工具条,有可能在什么情况下图标会不显示?