Tải bản đầy đủ (.pdf) (6 trang)

GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 21 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (121.81 KB, 6 trang )

 Muố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
$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.


Giá 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
$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
WEnd
;~ 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)

×