找回密码
 加入
搜索
查看: 6768|回复: 6

[GUI管理] (已解决)工具条不随窗口拉伸而拉伸,有谁知道如何解决这个问题?

  [复制链接]
发表于 2014-5-14 16:07:56 | 显示全部楼层 |阅读模式
本帖最后由 shqf 于 2014-5-17 22:14 编辑


图中可见工具条没有随窗口的拉伸而拉伸,有谁知道如何解决这个问题?
脚本如下,有关工具栏的代码从帮助例子中拷贝,当窗口可拉伸时会出现此问题。系统WinXPSP3,Autoit版本3.3.9.0,后下了3.3.11.3来试问题同样存在。
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <GuiToolbar.au3>
#include <ListViewConstants.au3>
#include <ToolbarConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

$Debug_TB = False

Global $hToolbar
Global $iItem
Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp

#region ### START Koda GUI section ### Form=C:\Documents and Settings\Administrator\My Documents\一般窗口.kxf
$Form2 = GUICreate("窗体1", 414, 189, 295, 180,$WS_OVERLAPPEDWINDOW)
$MenuItem1 = GUICtrlCreateMenu("文件")
$MenuItem2 = GUICtrlCreateMenuItem("打开", $MenuItem1)
$MenuItem3 = GUICtrlCreateMenuItem("退出", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenu("设置")
$MenuItem5 = GUICtrlCreateMenuItem("设置", $MenuItem4)
$MenuItem6 = GUICtrlCreateMenu("帮助")
$MenuItem7 = GUICtrlCreateMenuItem("帮助", $MenuItem6)
$MenuItem8 = GUICtrlCreateMenuItem("关于", $MenuItem6)

$hToolbar = _GUICtrlToolbar_Create($Form2, 0)
; 添加标准系统位图
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)

; 添加按钮
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)

$ListView1 = GUICtrlCreateListView("", 0, 36, 409, 103)

$StatusBar1 = _GUICtrlStatusBar_Create($Form2)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
Local $aParts[3] = [75, 150, -1]
_GUICtrlStatusBar_SetParts($StatusBar1, $aParts)

GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

GUIRegisterMsg($WM_SIZE, "WM_SIZE")

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

; 当 GUI 大小改变时重设状态栏大小
Func WM_SIZE($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam, $ilParam
    _GUICtrlStatusBar_Resize($StatusBar1)
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_SIZE

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-5-14 21:05:52 | 显示全部楼层
试试在while中更新
发表于 2014-5-15 21:23:36 | 显示全部楼层
本帖最后由 lixiaolong 于 2014-5-15 21:25 编辑

回复 1# shqf

$ListView1 = GUICtrlCreateListView("", 0, 36, 409, 103)
下面添加 GUICtrlSetResizing (-1, 102)
 楼主| 发表于 2014-5-16 13:29:50 | 显示全部楼层
GUICtrlSetResizing对工具栏好像不起作用的唉。工具栏与菜单栏、状态栏等一样,缺省是与窗口一样宽的,建立时不用设置宽度,也无法设置宽度。现在菜单栏能自动随窗口拉伸而拉伸,状态栏用_GUICtrlStatusBar_Resize来调整,对工具栏我没找到调整宽度的函数,也没有自动随窗口的拉伸而拉伸,是否属Bug啊。
发表于 2014-5-17 08:35:31 | 显示全部楼层
回复 4# shqf

不好意思,我看错了。。。

Func WM_SIZE($hWnd, $iMsg, $iwParam, $ilParam)
里面添加 _GUICtrlToolbar_Create($Form2,0) 试试。

没有找到别的方法。。。
 楼主| 发表于 2014-5-17 22:13:46 | 显示全部楼层
谢谢楼上的朋友,照你的方法一试竟成功了。原以为会重复报错唉!多谢!
发表于 2014-5-19 22:33:05 | 显示全部楼层
这么神奇,感谢。学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 14:10 , Processed in 0.080115 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表