kk_lee69
发表于 2015-3-21 20:01:38
回复 45# chzj589
你的那個檔案 在我家裡的電腦也是正常運作的.........那個執行裡面的東西 有改變什麼東西嗎??
chzj589
发表于 2015-3-21 21:50:38
回复 46# kk_lee69
这样子就是你的编辑器版本低的问题,我就是用发短信给你的代码编辑exe。
GUICtrlCreateLabel("主窗口不会没有控件吧,有一个控件这一行就可删除。", 0, 10, 400, 30) ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 拿掉這一行程式就會卡住
上句要保留
kk_lee69
发表于 2015-3-21 21:55:25
回复 47# chzj589
我請教你一下:
你寫過
Func WM_SIZE($hWnd, $iMsg, $wParam, $lParam)
ConsoleWrite("BB "&$hWnd&@TAB&@TAB&@CRLF)
#forceref $hWnd, $iMsg, $wParam, $lParam
$ToolBar1 = _GUICtrlToolbar_Create($Form1)
_GUICtrlStatusBar_Resize($StatusBar1)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_SIZE
但是 WM_SIZE 本身 有
SIZE_MAXHIDE
SIZE_MAXIMIZED
SIZE_MAXSHOW
SIZE_MINIMIZED
SIZE_RESTORED
這四種 值
可以 幫我寫個 用SWITCH 判斷這四個值的函數嗎??
chzj589
发表于 2015-3-21 22:00:12
回复 48# kk_lee69
帮助文件里的代码:
---------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $k = 0
$Gui = GUICreate("WM_SIZE", 370, 140, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('调整窗口大小时发送 WM_SIZE 消息. 可以设置某些特定的调整条件.', 5, 5, 360, 130)
GUISetState()
GUIRegisterMsg($WM_SIZE, "WM_SIZE")
Do
Until GUIGetMsg() = -3
Func WM_SIZE($hWnd, $Msg, $wParam, $lParam)
#forceref $Msg, $wParam
Local $w, $h
; 窗口客户区的尺寸.
$w = BitAND($lParam, 0xFFFF) ; _WinAPI_LoWord 低位字
$h = BitShift($lParam, 16) ; _WinAPI_HiWord 高位字
$k += 1
WinSetTitle($Gui, '', '消息发生次数: ' & $k & ' 宽 = ' & $w & ', 高 = ' & $h)
Return $GUI_RUNDEFMSG
EndFunc
---------------------------------------------------------------------------
kk_lee69
发表于 2015-3-21 22:00:37
回复 47# chzj589
WM_SIZE 能找到的 頂多還有 取 寬跟高的方法
但是我沒能找到判斷哪四個值的方法
Case $WM_SIZE
$m_Width = BitAND($lParam, 0xFFFF)
$m_Height = BitShift($lParam, 16)
chzj589
发表于 2015-3-21 22:06:25
回复 50# kk_lee69
兄弟,你抬举我了,我现在的水平还不够。歹势
kk_lee69
发表于 2015-3-22 00:02:19
回复 51# chzj589
好說!! 好說!!
大家互相研究咩^^
我也在努力學習中~~
chenronting
发表于 2015-3-26 22:06:38
WIN7X64位,3.3.9.1版本跟楼主一样的情况,第二楼那一行不注释掉运行是正常的。如果注释掉,在创建第一个窗口后,就不能点击了。只有把创建出来的第一个子窗最好化后才能用,这是什么情况,同求解