|
Những câu hỏi về VB
Kỳ 11
1. Kiểm tra sự tồn
tại của tập tin
Đặt dòng code này vào tập tin .BAS (module) và
có thể gọi nó từ bất kỳ đâu trong chương trình của bạn.
Function FileExists(Byval
FileName As String)
Dim Exist As Integer
On Local Error Resume Next
Exists = Len(Dir(FileName$))
On Local Error Goto 0
If Exists = 0 Then
FileExists = False
Else
FileExists = True
End If
End Function
Hàm này sẽ nhận tham số là một String
(chính là đường dẫn đến file cần kiểm tra sự tồn tại). Trả về một
trị kiểu Boolean (TRUE/FALSE), phản ảnh kết quả kiểm tra của hàm.
^ Top
2. Sử dụng phím
Enter như là phím Tab để luân chuyển giữa các Control trên Form
Private Sub
Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
'Bắt
phím Enter
SendKeys "{TAB}"
'Giả như người
dùng nhấn Tab
KeyAscii = 0
'Huỷ phím
Enter
End If
End Sub
Nhớ đặt thuộc tính KeyPreview
của Form là TRUE bạn nhé (để cho Form đón các phím nhấn trước
các Control trên nó, nếu không bạn sẽ nghe tiếng Beep trong loa chứ
chẳng thấy tác dụng gì đâu).
^ Top
3. Làm cho Form thành TopMost
Là form luôn nằm trên tất cả các cửa sổ khác mặc dù nó không bị kích
hoạt (Active).
Khai báo hàm API SetWindowPos
trong Module như sau:
#If Win32 Then
Declare Function SetWindowPos
Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long,
ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As
Long, ByVal wFlags As Long) As Long
Global success As Long
#Else
Declare Function SetWindowPos
Lib "user" (ByVal hWnd As Integer, _
ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal Y As _
Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As _
Integer) As Integer
Global success As Integer
#End If
Khai báo thêm một số hằng cần thiết trong Module:
Global Const SWP_NOMOVE = 2
Global Const SWP_NOSIZE = 1
Global Const FLAGS =
SWP_NOMOVE Or SWP_NOSIZE
Global Const HWND_TOPMOST = -1
Global Const HWND_NOTOPMOST =
-2
Lúc nào muốn cho Form thành TopMost thì dùng đoạn code sau đây:
success =
SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
Như vậy khi muốn Form không TopMost nữa thì:
success =
SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
Để minh họa, bạn hãy tạo một Project
mới.
- Trên Form1 tạo 2 command button là:
Command1 & Command2, Add thêm 1 Module (Module1).
- Khai báo hàm API & các hằng trong
Module1.
- Lần lượt đặt dòng code thứ nhất cho
Command1 (TOPMOST)
success =
SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
- Và dòng code thứ 2 cho Command2
(NOTOPMOST).
success =
SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
- Lúc này hãy ung dung mà nhấn F5 để
chạy thử.
^ Top
4. Hãy tạo Form mẫu
cho riêng mình
Có bao giờ bạn tự hỏi: "Làm sao để tạo
riêng cho mình một cái Form (của chính mình) và add nó vào Menu của
VB để khi cần cho lệnh Add Form là có thể chèn vào ứng dụng của mình
ngay lập tức ?". Giống như các mẫu có sẵn của Vb vậy đó.

Bạn thấy không ? About
Dialog, Dialog, Splash Screen, Tip of the Day ... các thứ này bạn
đều có thể tại riêng cho mình để chương trình mang một sắc thái
riêng, độc đáo, và bất ngờ.
Hãy tạo ra những Form thật
ưng ý bằng cách:
- Thay đổi các Properties
- Thêm một số Control cần
thiết
- và cái gì bạn thích hoặc
hay dùng
- Gõ cả Source Code nếu
cần.
Save Form vào thư mục
Template\Forms của thư mục chứa chương trình VB (nhớ là chỉ cần
Form thôi nhé, không cần tới Project đâu).
Ví dụ như:
C:\soft\Microsoft Visual Studio\VB98\Template\Forms
Sau đó bạn hãy vào mục Add
Form xem

Lưu ý:
-
Tên File chính là tên sẽ
xuất hiện trong danh sách này. Ví dụ hình bên dưới là file "Day la
mau Form cua tui.frm"
-
Nếu bạn "dị ứng" với cái
mẫu Form nào có sẵn của VB bạn có thể cho nó mất tích bằng cách
Delete (hoặc Move đi nơi khác) tập tin tương ứng với tên là xong.
Và hãy nhìn xem

Đáng ghét ở chỗ là nó luôn
cho Form của chúng ta vừa tạo vào cuối danh sách, dẫu bạn đặt tên có cả
trăm chữ "a" đi nữa thì cũng "đội sổ" như thường. Thôi kệ, có cũng
dzui rồi, đứng đâu cũng được miễn lợi hại hơn là OK hà (à không, Open
mới chính xác).
 |