Muốn dùng các giá trị nêu trên, phải gọi #include trong file script của bạn Đưa về kích thước mặc định là $GUI_DOCKAUTO Style mở rộng $GUI_WS_EX_PARENTDRAG cho phép bạn kéo những cửa
Trang 1Muốn dùng các giá trị nêu trên, phải gọi #include <StaticConstants.au3> trong file script của bạn
Đưa về kích thước mặc định là $GUI_DOCKAUTO
Style mở rộng $GUI_WS_EX_PARENTDRAG cho phép bạn kéo những cửa sổ bố-mẹ không có thanh tiêu đề (không có $WS_CAPTION trong GUICreate)
Để thiết lập màu nền trong suốt, gọi GUICtrlSetBkColor(-1,
$GUI_BKCOLOR_TRANSPARENT)
Ví dụ
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $widthCell, $msg, $iOldOpt
; will create a dialog box that when displayed is centered
GUICreate("My GUI")
GUISetHelp("notepad") ; will run notepad if F1 is typed
$iOldOpt = Opt("GUICoordMode", 2)
$widthCell = 70
GUICtrlCreateLabel("Line 1 Cell 1", 10, 30, $widthCell) ; first cell 70 width GUICtrlCreateLabel("Line 2 Cell 1", -1, 0) ; next line
GUICtrlCreateLabel("Line 3 Cell 2", 0, 0) ; next line and next cell
GUICtrlCreateLabel("Line 3 Cell 3", 0, -1) ; next cell same line
GUICtrlCreateLabel("Line 4 Cell 1", -3 * $widthCell, 0) ; next line Cell1 GUISetState() ; will display an empty dialog box
; Run the GUI until the dialog is closed
Do
Trang 2$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE
$iOldOpt = Opt("GUICoordMode", $iOldOpt)
EndFunc ;==>Example
GUICtrlCreatePic
Hàm này sẽ tạo ra một control cho phép nạp và hiển thị hình ảnh (picture) trên GUI
GUICtrlCreatePic ( filename, left, top [, width [, height [, style [, exStyle]]]] )
Các tham số
Filename Đường dẫn và tên đầy đủ file ảnh cần load Hỗ trợ ảnh BMP, JPG và
GIF (không có hình động) left Khoảng cách canh từ lề trái của GUI (tọa độ x) Nếu sử dụng -1, thì lề
trái được tính theo GUICoordMode
Top Khoảng cách canh từ lề trên của GUI (tọa độ y) Nếu sử dụng -1, thì lề
trái được tính theo GUICoordMode
width [tùy chọn] độ rộng của control Mặc định là độ rộng đã dùng trước đó height [tùy chọn] chiều cao của control Mặc định là chiều cao đã dùng trước
đó
Style
[Tùy chọn] Định nghĩa style cho control Xem GUI Control Styles Appendix
default (-1) : $SS_NOTIFY style bắt buộc : $SS_BITMAP exStyle [tùy chọn] Định nghĩa style mở rộng Xem Extended Style Table
Trang 3Giá trị trả về
Th
Công : Trả về ID của control picture vừa được tạo
Hỏng : Trả về 0 nếu ảnh không tạo được ảnh
Chú ý
Để thiết lập hoặc thay đổi thông tin picture, xem hàm GUICtrlSet
Để cập nhật ảnh sau khi hộp thoại đã được hiển thị , sử dụng hàm
GUICtrlSetImage
Nếu bạn muốn ảnh hiển thị với kích thước gốc của nó , gán width = heigh
= 0
Nếu bạn muốn có một ảnh trong suốt , bạn cần tạo GUI với style mở rộng $WS_LAYERED Điểm ảnh left-top (góc trái trên) sẽ được dùng làm màu trong suốt Khi có nhiều ảnh được tạo , thì ảnh cuối cùng được định nghĩa màu trong suốt Xem example 2
.Để kết hợp style mặc định với style khác , sử dụng
BitOr($GUI_SS_DEFAULT_PIC, newstyle, )
Để sử dụng được các giá trị nêu trên , gọi thư viện #include
<StaticConstants.au3>
Đưa về kích thước mặc định : $GUI_DOCKSIZE
Nếu một ảnh được thiết lập làm ảnh trong suốt , các control khác sẽ bị phủ lấp , điều quan trọng là phải vô hiệu control pic và tạo nó sau khi bạn đã tạo các control khác : GUICtrlSetState(-1, $GUI_DISABLE) Chỉ điều này thôi thì chưa đủ cho control Tab và ListView vì chúng sẽ hoạt động hơi khác thường Trong trường hợp này bạn cần tạo ảnh với style
Trang 4$WS_CLIPSIBLINGS , GuiCtrlSetState(-1,$GUI_ONTOP) là cần thiết cho control Tab và ListView
Style mở rộng $GUI_WS_EX_PARENTDRAG cho phép bạn nắm và kéo những cửa sổ con không có thanh tiêu đề
Nền thì luôn được làm cho trong suốt GUICtrlSetBkColor( ) thì không
có tác dụng đối với control picture
PNG có thể được dùng với GDI+ Xem example 3
Ví dụ
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Global $gui, $guiPos, $pic, $picPos
Example1()
Example2()
; - example 1
Func Example1()
Local $n, $msg
GUICreate("My GUI picture", 350, 300, -1, -1, $WS_SIZEBOX +
$WS_SYSMENU) ; will create a dialog box that when displayed is centered GUISetBkColor(0xE0FFFF)
$n = GUICtrlCreatePic(@SystemDir & "\oobe\images\mslogo.jpg", 50, 50,
200, 50)
GUISetState()
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Trang 5WEnd
;~ GUISetState ()
; resize the control
$n = GUICtrlSetPos($n, 50, 50, 200, 100)
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUIDelete()
EndFunc ;==>Example1
; - example 2
Func Example2()
Local $msg
$gui = GUICreate("test transparentpic", 200, 100,-1 )
$pic = GUICreate("", 68, 71, 10, 10, $WS_POPUP,
BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $gui)
GUICtrlCreatePic(@SystemDir & "\oobe\images\merlin.gif", 0, 0, 0, 0,-1,$GUI_WS_EX_PARENTDRAG )
GUISetState(@SW_SHOW, $gui)
GUISetState(@SW_SHOW, $pic)
HotKeySet("{ESC}", "main")
HotKeySet("{LEFT}", "left")
HotKeySet("{RIGHT}", "right")
HotKeySet("{DOWN}", "down")
HotKeySet("{UP}", "up")
$picPos = WinGetPos($pic)