Trang Chủ   Vn+ TiVi   Fanpage Twitter  Fanpage FaceBook
Loading
                                         

Bản Tin Câu Lạc Bộ Pa Tin Im-Pod                                                                          
Diễn đàn Vn+
Tiêu Điểm

Tình Yêu - Giới Tính

1001 Bí Ẩn

Tổng hợp phần mềm

Ebook

Thủ Thuật IT

Thủ Thuật Blog

Video Clip

Lạ & Fun


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

Trunks-Kun

Trunks-Kun
Administrator
Administrator
- Đây là một trong những bài cuối cùng trong chương trình Nhập Môn Lập Trình với AutoIT, cũng là bài khó nhất vì để tạo được GUI tụi mình phải dùng rất nhiều hàm, đòi hỏi phải nắm vững các bài trước, giải tốt những bài tập đã cho.

- Do số lượng hàm và thông số của chúng rất nhiều cho nên tụi mình không cần phải nhớ hết, nếu quên hàm nào chỉ cần click chuột vào hàm đó rồi bấm F1 các thông tin liên quan của hàm đó sẽ hiện ra.

Lý thuyết về GUI trong AutoIT
- GUI: viết tắt của Graphic User Interface có nghĩa là Giao Diện Người Dùng. Với AutoIT, GUI được chia làm 3 loại:

Đối Tượng - Control: Những cái này không có gì xa lạ cả, chúng là những cái Nút (Button), những chỗ nhập dữ liệu (Input), những ô vuông để chọn (check box),... tương ứng với mỗi Control chúng ta sẽ có 1 hàm để tạo ra nó.

Cửa Sổ - Window: Một ứng dụng nếu bỏ hết các Control đi thì thứ còn lại chính là Window. Window sở hữu và mang theo tất cả những Control bên trong nó, khi nó được tắt đi, các Control cũng sẽ được tắt theo. Hãy tưởng tượng Window như 1 tớ giấy trắng, khi ta tạo ra các Control trên Windown tức là ta vẽ lên tờ giấy đó những thứ mà ta muốn.

Khay Hệ Thống - Tray System: gọi tắt là Tray - Là phần mà mặc định luôn có khi làm ứng dụng với AutoIT, khi chạy 1 chương trình AutoIT tụi mình sẽ thấy 1 Icon nhỏ xuất hiện ở Dưới - Bên Phải, gần đồng hồ của Window tất cả những gì nằm bên trong Icon đó chính là Tray System.



- Nội dung bài này sẽ nói về cách tạo Window và các Control được lên danh sách bên dưới, những control còn lại và Tray System sẽ được đề cập đến trong 1 bài riêng vì chắc chắn rằng chúng cũng không ngắn đâu.

Label - Dùng để hiển thị 1 chuỗi
Button - Nút nhấn để thực hiện 1 việc gì đó
Input - Nơi để người dùng nhập dữ liệu
Edit - Giống như Input nhưng có nhiều dòng
Checkbox và Radio - Tạo tùy chọn cho người dùng
List - Tạo tùy chọn kiểu danh sách
Combo - Tạo tùy chọn theo kiểu danh sách nhỏ gọn
Tab - Tạo các thẻ, để hiện Control theo nhóm
Menu - Tạo thanh Menu phía trên Window


- Mới kể cái tên thôi cũng đã thấy nhiều rồi và như đã nói tương ứng với mỗi cái tên ta sẽ có 1 Hàm Tạo cho chúng, ngoài những Hàm Tạo này ta còn 1 nhóm hàm khác gọi là Hàm Hiệu Chỉnh số lượng của chúng cũng không kém hơn các Hàm Tạo và chắc chắn rằng ta cũng khó mà dùng hết, thông qua các ví dụ về hàm tạo tớ sẽ giới thiệu những cái hay dùng để sao cho tụi mình tạo được cái GUI trước đã.

1. Cách tạo Window - Hàm GUICreate ( "title" , width, height, left, top )
- Chắc nhiều bạn cũng đã biết đến ứng dụng có tên là Koda và cũng biết rằng dùng nó rất dễ để tạo được 1 GUI. Nhưng mới học ta chưa nên dùng Koda vì dùng nó bạn sẽ chậm hiểu về AutoIT hơn, cũng như 1 đứa trẻ suốt ngày được bế trên tay sẽ chậm biết đi, hơn nữa học cách dùng Koda cũng không phải dễ. Chính vì vậy, sẽ có 1 bài riêng dành cho nó sau, trong bài này tụi mình sẽ tập trung vào cách tạo GUI bằng Code và bắt đầu với việc tạo Window trước vì đây là nền của tất cả các Control.

- Như đã biết Window được tạo ra bằng GUICreate(), hàm này có tất cả 8 biến cần được truyền vào, nhưng tớ chỉ nói đến 5 biến đầu tiên, 3 biến còn lại tụi mình sẽ không đụng đến vì chưa phải lúc, bỏ đi chương trình cũng không hề bị lỗi gì cả, với những hàm tạo Control cũng vậy tớ cũng chỉ nêu những biến quan trọng.

Title: là tiêu đề của Window, nó chính là dòng chữ hiện trên cùng, thường nằm bên trái của nút Tắt Window.
Width: tức là chiều rộng của Window khi khởi tạo.
Height: chiều cao của Window khi khởi tạo.
Left: tọa độ x của Window khi khởi tạo, tức là từ trái sang phải.
Top: tọa độ y của Window khi khởi tạo, tức là từ trên xuống dưới.

- Lưu ý rằng Height của Window không bao gồm chiều cao của Title Bar, tức là vùng màu xanh có nút X để tắt GUI. Đơn vị do lường được AutoIT sử dụng để tạo GUI là Pixel. Ví dụ như khi tụi mình muốn tạo ra 1 GUI có Window rộng 200 pixel, cao 250 pixel nằm tại vị trí 100x200 so với màn hình Desktop giống như hình ở trên thì ta code như sau:

Code:
    GUICreate("72ls.NET",200,250,100,200)
    GUISetState()  ;Hàm để hiện GUI ra
   
    msgbox(0,"72ls.net","")    ;Tạm dùng để xem GUI

- Và Hàm Hiệu Chỉnh đầu tiên cần nói đến khi tạo GUI chính là GUISetState(), nhiệm vụ của nó là hiệu chỉnh Window, nếu sau khi dùng hàm GUICreate mà bạn không dùng hàm này thì GUI sẽ không hiện lên. Đương nhiên hàm này không đơn giản như vậy, nó còn có 2 tham số khác, nhưng tụi mình chã cần quan tâm đến làm gì, chỉ để y như trong Ví Dụ là được rồi.

2. Cách tạo Label - Hàm GUICtrlCreateLabel ( "text", left, top, width, height )
- Với Control thì cái đầu tiên cần hướng dẫn là Label vì nó đơn giản nhất trong các loại Control, nhiệm vụ của nó chỉ dùng để hiện 1 chuỗi ra, còn ứng dụng thì làm Tiêu Đề cho các Control khác hoặc để thông báo 1 trạng thái hoạt động nào đó của chương trình, ví dụ như hiện chữ "Pause" khi chương trình đang dừng, với Control Label này tụi mình cũng chỉ quan tâm đến 5 biến giống như trong hàm GUICreate() để tạo Window mà thôi.

Text: cũng như tiêu đề của Window, nhưng nó là dòng chữ sẽ hiện ra trong Label.
Width, Height: là chiều rộng và cao của Label, nếu bạn không truyền vào AutoIT sẽ tự canh cho đủ.
Left,Top: khác với Width và height, nếu bạn kg truyền 2 thông số này vào AutoIT sẽ báo lỗi.


- Lưu ý rằng Left, Top trong các Control thường được truyền vào trước Width và Height, không như hàm GUICreate(). Ngoài ra Left, Top ở đây là tọa độ x, y của Control so với Window, còn Left, Top trong Window là của GUI so với Desktop. Tức là khi bạn muốn tạo 1 Label có kích thước là 43x16 tại vị trí 2x7 so với Window thì ta code như sau:

Code:
    GUICreate("72ls.NET",200,250,100,200)  ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)  ;~ Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)      ;Chọn màu nên cho Label
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

- Ở ví dụ trên còn 1 hàm khác ở dòng 4 là GUICtrlSetBkColor(-1,0xFF0000), hàm này chính là Hàm Hiệu Chỉnh cùng loại với GUISetState(), nếu để ý bạn sẽ thấy nó có thêm chữ Ctrl đây là viết tắt của từ Control và bất cứ hàm nào có chữ GUICtrl tức là nó ám chỉ rằng hàm này chỉ hiệu chỉnh các Control mà thôi, nếu chỉ có chữ GUI không thì nó hiệu chỉnh cho Window.


Code:
    GUICtrlSetBkColor ( controlID, backgroundcolor )


- Nói về chức năng của hàm GUICtrlSetBkColor() thì chắc các bạn cũng đã thấy rõ qua ví dụ, nó dùng để thay đổi màu nền của Control. Vấn đề còn lại là dùng thế nào, tức là truyền biến cho nó như thế nào. Nhìn lại các biến 1 lần bạn sẽ thấy cái đầu tiên là control ID tức là mã số của Control, có thể bạn không biết nó là gì... kệ không cần quan tâm, bạn chỉ cần biết rằng nếu để số -1 thì nó sẽ hiệu chỉnh màu cho Control vừa được tạo trước đó, như vậy là đủ xài. Còn biến thứ 2 là background color, đọc là hiểu liền màu nền, nó cũng là mã số của màu, trong ví dụ tớ để ở dạng số Hex (Hệ Thập Lục Phân - 16 số), nhưng nếu thích bạn cứ để đại 1 số Dec (Hệ Thập Phân - 10 Số) vào cũng được.

3. Tạo Button - Hàm GUICtrlCreateButton ( "text" , left, top, width, height )

- Về cái Button nó không khác gì cái Label, chúng nó giống nhau đến 99%, cái khác duy nhất là hình dạng, có thể nhiều bạn sẽ không đồng ý với mình vì Button là Button, Label là Label sao giống nhau được, trong các ngôn ngữ khác thì đúng là như vậy, nhưng với AutoIT thì tụi nó là thế. Một Label hoàn toàn có thể dùng để Click được không khác gì Button, còn Button nếu chỉnh lại hình hạng 1 tý thì có chã khác gì 1 Label.

- Các thông số của chúng cũng hệt nhau, Width và Height sẽ tự canh nếu không được truyền vào, không tin cứ xem và edit lại ví dụ bên dưới sẽ thấy.


Code:
3. Tạo Button - Hàm GUICtrlCreateButton ( "text" , left, top, width, height )
- Về cái Button nó không khác gì cái Label, chúng nó giống nhau đến 99%, cái khác duy nhất là hình dạng, có thể nhiều bạn sẽ không đồng ý với mình vì Button là Button, Label là Label sao giống nhau được, trong các ngôn ngữ khác thì đúng là như vậy, nhưng với AutoIT thì tụi nó là thế. Một Label hoàn toàn có thể dùng để Click được không khác gì Button, còn Button nếu chỉnh lại hình hạng 1 tý thì có chã khác gì 1 Label.

- Các thông số của chúng cũng hệt nhau, Width và Height sẽ tự canh nếu không được truyền vào, không tin cứ xem và edit lại ví dụ bên dưới sẽ thấy.
Bật/Tắt Số Dòng | Hiện/Ẩn Code | Chọn tất cả

    GUICreate("72ls.NET",200,250,100,200)  ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)  ;~ Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)      ;Chọn màu nên cho Label
   
    GUICtrlCreateButton("Nhập",70,120,52) ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI




4. Tạo Input - Hàm GUICtrlCreateInput( "text" , left , top , width , height)
- Nếu Button giống Label 99% thì 1 cái Input giống Label khoãng 90%. Chức năng của Input giống như hàm InputBox() nhưng là ở trên GUI và vì nó ở trên GUI cho nên cách ta lấy dữ liệu từ nó cũng khác, ở đây ta chỉ nói đến cách Tạo GUI còn chuyện Lấy Dữ Liệu từ GUI tụi mình sẽ học ở bài sau.

- Tuy với Width và Height của Input AutoIT cũng tự canh nhưng tốt nhất ta nên truyền vào, để nó tự tung tự tát sau này thể nào cũng gay phiền phức, vì mỗi lần mở GUI có trời mới biết là nó có bị thay đổi kích thước hay không.
Bật/Tắt Số Dòng | Hiện/Ẩn Code | Chọn tất cả

    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateButton("Nhập",70,120,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI
   



5. Tạo Edit - Hàm GUICtrlCreateEdit( "text" , left , top , width , height)
- Nếu tiếp tục xét tỷ lệ thì thằng này cũng lại giống Input 99% và điểm khác biệt ở đây là Edit có nhiều dòng, tức là khi nhập liệu bạn có thể Enter để nhập trên dòng mới, còn Input thì Enter tới Tết nó cũng không xuống.

- Tớ quên nói vụ biến text đầu tiên, với Edit và Input nếu không truyền biến này vào thì sẽ có lỗi, nhưng nếu truyền chuỗi rỗng vào như trong ví dụ thì tụi nó sẽ trắng bóc không có chữ nào.
Bật/Tắt Số Dòng | Hiện/Ẩn Code | Chọn tất cả

    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateButton("Nhập",70,120,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI
   



6. Tạo CheckBox - Hàm GUICtrlCreateCheckbox( "text" , left , top , width , height)
- Chức năng của CheckBox chắc ai cũng biết, tạo nó cũng chả khó gì, hệt như mấy thằng trên, thậm chí còn dễ hơn bạn chỉ cần cho nó tọa độ và cái text là xong, width với height khỏi rớ tới lun, vì AutoIT tự canh thằng này rất tốt không có trục trặc gì. Ở đây tớ xin nhắc lại, bài này chỉ học cách Tạo còn cách Lấy Dữ Liệu với Tương Tác trên Window và Control sẽ học ở bài sau.
Bật/Tắt Số Dòng | Hiện/Ẩn Code | Chọn tất cả

    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateButton("Nhập",70,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI


Cám Ơn bài viết của LeeSai        Chuyển Leas 

Hình ảnh



4. Tạo Input - Hàm GUICtrlCreateInput( "text" , left , top , width , height)

- Nếu Button giống Label 99% thì 1 cái Input giống Label khoãng 90%. Chức năng của Input giống như hàm InputBox() nhưng là ở trên GUI và vì nó ở trên GUI cho nên cách ta lấy dữ liệu từ nó cũng khác, ở đây ta chỉ nói đến cách Tạo GUI còn chuyện Lấy Dữ Liệu từ GUI tụi mình sẽ học ở bài sau.

- Tuy với Width và Height của Input AutoIT cũng tự canh nhưng tốt nhất ta nên truyền vào, để nó tự tung tự tát sau này thể nào cũng gay phiền phức, vì mỗi lần mở GUI có trời mới biết là nó có bị thay đổi kích thước hay không.

Code:
    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateButton("Nhập",70,120,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI
   

5. Tạo Edit - Hàm GUICtrlCreateEdit( "text" , left , top , width , height)

- Nếu tiếp tục xét tỷ lệ thì thằng này cũng lại giống Input 99% và điểm khác biệt ở đây là Edit có nhiều dòng, tức là khi nhập liệu bạn có thể Enter để nhập trên dòng mới, còn Input thì Enter tới Tết nó cũng không xuống.

- Tớ quên nói vụ biến text đầu tiên, với Edit và Input nếu không truyền biến này vào thì sẽ có lỗi, nhưng nếu truyền chuỗi rỗng vào như trong ví dụ thì tụi nó sẽ trắng bóc không có chữ nào.

Code:
    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateButton("Nhập",70,120,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI
   

6. Tạo CheckBox - Hàm GUICtrlCreateCheckbox( "text" , left , top , width , height)

- Chức năng của CheckBox chắc ai cũng biết, tạo nó cũng chả khó gì, hệt như mấy thằng trên, thậm chí còn dễ hơn bạn chỉ cần cho nó tọa độ và cái text là xong, width với height khỏi rớ tới lun, vì AutoIT tự canh thằng này rất tốt không có trục trặc gì

Code:
    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateButton("Nhập",70,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

7. Tạo Radio - Hàm GUICtrlCreateRadio( "text" , left , top , width , height)

- Nếu các CheckBox có thể được chọn cùng 1 lúc, thì các Radio chỉ có thể chọn 1 cái mà thôi, ngoài đặt điểm này ra Radio hoàn toàn giống với CheckBox.

Code:
    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateButton("Nhập",70,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

- Tới đây tụi mình vẫn chưa xong với Radio, vì trên GUI không phải lúc nào cũng chỉ có 1 nhóm Radio, tức là với 4 Radio người dùng có thể chọn 2 trong số đó (2 nhóm radio) và để làm được điều này ta cần thêm 1 hàm khác là GUICtrlCreateGroup(). Tuy kg có trong Danh Sách Giới Thiệu, nhưng đây cũng là 1 Control và bản chất của nó là gì thì tụi mình khoan nói tới, giờ chỉ xem ví dụ để biết nó tách các Radio thành 2 nhóm như thế nào thôi rồi khi cần dùng ta cứ code y như vậy là được, không bao giờ sợ sai.

Code:
    GUICreate("72ls.NET",200,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20) ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)        ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

8. Tạo List Control - Hàm GUICtrlCreateList( "text" , left , top , width , height)

- Xét 1 cách sơ xài thì List có chức năng khá giống Radio, tức là ta chỉ chọn được 1 trong số nhiều cái có trong List. Nhưng với Radio mỗi tùy chọn là 1 Control riêng biệt, còn List Control thì chỉ có 1 và các tùy chọn là những chuỗi được xếp trên những dòng khác nhau, giờ tụi mình xem ví dụ xong ta sẽ nói tiếp về List này

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateList("Nhà Lầu",210, 7, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào List Control
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

- Trong ví dụ, List của chúng ta có tất cả 4 dòng, trong đó 3 dòng cuối là do hàm GUICtrlSetData() giữ, như thế rõ ràng hàm này đã thêm các chuỗi đó vào List rồi. Nhìn tên hàm thôi cũng có thể đoán được: Set Data = Hiệu Chỉnh Dữ Liệu, biến thứ 2 của hàm này xem như xong, không có gì khó hiểu, vì nó là dữ liệu ta cần thêm vào cho List, còn biến thứ nhất thì y hệt như hàm GUICtrlSetBkColor() trong phần tạo Label, với -1 ám chỉ Control vừa được tạo ra trước đó.

- Vậy túm lại hàm này không có gì mới sao? Thật ra là có, đó là dấu phân cách giữa các dòng [ | ], phòng trường hợp những bạn không biết gõ dấu này thế nào trên bàn phím tớ xin chỉ luôn, các bạn giữ Shift xong bấm dấu [ \ ], nó thường nằm gần phím Enter và dấu xóa lùi [ BACKSPACE ]. Ngoài ra tớ muốn nói thêm về chuỗi đầu tiền trong hàm GUICtrlCreateList() - "Nhà Lầu" nếu đây là chuỗi rỗng thì List Control sẽ không chọn dòng nào cả, nhưng nếu có thì đó sẽ làm tùy chọn mặc định của nó, chuỗi này không được phép trùng với 1 chuỗi trong hàm GUICtrlSetData(), nếu không nó sẽ bị lặp lại và List Control sẽ xem chúng như 2 Tùy Chọn Khác Nhau.


9. Tạo Combo - Hàm GUICtrlCreateCombo( "text" , left , top , width , height)

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateList("Nhà Lầu",210, 7, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateCombo("Nhà Lầu",210, 120, 100,90)  ;Tạo ComboBox
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI


Tạo Tab - Hàm GUICtrlCreateTab(left , top , width , height)

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateTab(200, 7, 150,190)              ;Tạo Tab nền
    GUICtrlCreateTabItem("List Control")            ;Tạo vùng Tab của List Control
   
    GUICtrlCreateList("Nhà Lầu",210, 37, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("Combo Box")              ;Tạo vùng Tab của Combo Box
   
    GUICtrlCreateCombo("Nhà Lầu",210, 37, 100,90)  ;Tạo ComboBox
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

Luôn tạo các Control không thuộc Tab trước và không để lệnh Tạo Control bên dưới lệnh tạo Tab, tức là mang dòng lệnh tạo nút Nhập ở ví dụ bỏ lên trên dòng lệnh tạo Tab Nền - GUICtrlCreateTab()
Cách 1 hơi nhập nhằn đúng không. Ta còn 1 cách khác đơn giản hơn là để nguyên như vậy rồi thêm lệnh tạo 1 Tab Rỗng vào - Tham Số Text là chuỗi rỗng, AutoIT sẽ tự đóng Tab Nền lại để các Control được tạo bên dưới không bị ảnh hưởng. Hãy xem ví dụ, dòng 33:

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateTab(200, 7, 150,190)              ;Tạo Tab nền
    GUICtrlCreateTabItem("List Control")            ;Tạo vùng Tab của List Control
   
    GUICtrlCreateList("Nhà Lầu",210, 37, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("Combo Box")              ;Tạo vùng Tab của Combo Box
   
    GUICtrlCreateCombo("Nhà Lầu",210, 37, 100,90)  ;Tạo ComboBox
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("")                        ;Đóng Tab Nền
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

10. Tạo Menu - Hàm GUICtrlCreateMenu( "text" )

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateTab(200, 7, 150,190)              ;Tạo Tab nền
    GUICtrlCreateTabItem("List Control")            ;Tạo vùng Tab của List Control
   
    GUICtrlCreateList("Nhà Lầu",210, 37, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("Combo Box")              ;Tạo vùng Tab của Combo Box
   
    GUICtrlCreateCombo("Nhà Lầu",210, 37, 100,90)  ;Tạo ComboBox
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("")                        ;Đóng Tab Nền
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    GUICtrlCreateMenu("File")                  ;Tạo Menu File
    GUICtrlCreateMenu("Edit")                  ;Tạo Menu Edit
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","")            ;Tạm dùng để xem GUI

- Trong các ứng dụng khi bấm vào Menu nó sẽ hiện ra thêm những Menu nhỏ khác phía dưới, chúng được gọi là Sub Menu, tức là Menu con. Vậy bước tiếp theo là làm sao tạo Sub Menu, hay nói khác hơn làm sao để gắn Sub Menu vào Main Menu cho đúng khi mà File và Edit không có gì để phân biệt. Các bạn hãy nhìn vào cấu trúc hàm tạo Sub Menu sẽ thấy ngay manh mối giải quyết vấn đề:

Code:
    GUICtrlCreateMenuItem ( "text", menuID )

Code:
    GUICreate("72ls.NET",400,250,100,200)          ;Tạo Window
   
    GUICtrlCreateLabel("Họ Tên:", 2, 7, 43, 16)      ;Tạo Label
    GUICtrlSetBkColor(-1,0xFF0000)                  ;Chọn màu nên cho Label
   
    GUICtrlCreateInput("Nội dung", 50, 7, 72, 20)    ;Tạo Input
   
    GUICtrlCreateEdit("", 2, 34, 180, 70)          ;Tạo Edit
   
    GUICtrlCreateCheckbox("Đẹp Trai", 2, 120)        ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Học Giỏi", 2, 140)      ;Tạo checkbox để chọn
    GUICtrlCreateCheckbox("Lắm Tiền", 2, 160)      ;Tạo checkbox để chọn
   
    GUICtrlCreateRadio("Keo Kiệt ", 92, 120)        ;Tạo Radio để chọn
    GUICtrlCreateRadio("Rộng Lượng ", 92, 140)    ;Tạo Radio để chọn
   
    GUICtrlCreateGroup("",-99, -99, 1, 1)          ;Tạo Group
    GUICtrlCreateRadio("Đã Có Bồ ", 92, 170)          ;Tạo checkbox để chọn
    GUICtrlCreateRadio("Thất Tình ", 92, 190)      ;Tạo checkbox để chọn
    GUICtrlCreateGroup("", -99, -99, 1, 1)          ;Đóng Group
   
    GUICtrlCreateTab(200, 7, 150,190)              ;Tạo Tab nền
    GUICtrlCreateTabItem("List Control")            ;Tạo vùng Tab của List Control
   
    GUICtrlCreateList("Nhà Lầu",210, 37, 100,90)      ;Tạo List Control
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("Combo Box")              ;Tạo vùng Tab của Combo Box
   
    GUICtrlCreateCombo("Nhà Lầu",210, 37, 100,90)  ;Tạo ComboBox
    GUICtrlSetData(-1, "Xe Hơi|Hồ Bơi|Máy Bay")        ;Thêm dữ liệu vào ComboBox
   
    GUICtrlCreateTabItem("")                        ;Đóng Tab Nền
   
    GUICtrlCreateButton("Nhập",20,190,52)        ;Tạo nút có chữ Nhập
   
    $File = GUICtrlCreateMenu("File")              ;Tạo Menu File
    GUICtrlCreateMenuItem("Open",$File)
    GUICtrlCreateMenuItem("Save",$File)
    GUICtrlCreateMenuItem("",$File)
    GUICtrlCreateMenuItem("Exit",$File)
   
    GUICtrlCreateMenu("Edit")              ;Tạo Menu Edit
   
    GUISetState()  ;Hàm để hiện GUI ra
   
    MsgBox(0,"72ls.NET","Mã số Main Menu File: "&$File)            ;Tạm dùng để xem GUI

nguon autoit.72ls.net

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết

 

Legend :  [ Vn-plus Founder ] [ Administrator ] [ Super Moderator ] [ Moderator ] [ Member ] [ VIP member ] [ banned ]



Free Auto Backlink Exchange ServiceFree Backlink Exchange For SeoVietnam BacklinksTravel BacklinksFree BacklinksText Backlink ExchangesText Back Link ExchangeFlorists LinksOverShopping Link ExchangeFree Automatic LinkWeb Link Exchange - Linkcsere

    Diễn Đàn Vn-Plus.Org | Thống kê | Liên hệ | Báo cáo lạm dụng  | Bạn muốn quảng cáo | Lên Đầu Trang

    Powered by: PHPBB2. Copyright © 2011  Diễn Đàn Mở VN+
    Contact: Vn-plus Founder . Yahoo: Nobita_xuka_ccy. Địa chỉ: Từ Tây - Yên Phú - Yên Mỹ - Hưng Yên
    BQT không chịu trách nhiệm bất cứ nội dung nào của thành viên đăng tải

Liên Kết Vớivn+

Create a forum on Forumotion | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất