|
Tạo form trong
suốt trong Visual Basic |
|
Đó
hỏi:
Làm cách nào để tạo form trong suốt trong Visual
Basic? <hiepsi1522@> |
|
Đây trả lời:
Để thực hiện ví dụ tạo form trong suốt trong ứng
dụng Visual Basic 6, bạn tạo một project mới với
kiểu Standard, thêm một module mới có tên Module1,
rồi gõ đoạn mã 1 khai báo các hằng và các hàm API.
Đồng thời, bạn khai báo luôn hàm SetWindow dùng để
thay đổi thuộc tính của cửa sổ tạo nên form như đoạn
mã 2.
Trong form mặc định Form1, bạn gõ dòng lệnh gọi hàm
SetWindow như đoạn mã 3 vào thủ tục xử lý tình huống
Form_Load. Trong dòng lệnh gọi hàm SetWindow trên,
trị số 50 xác định mức độ trong suốt mong muốn, bạn
có thể xài thử các trị trong khoảng từ 50 đến 240 để
chọn ra trị phù hợp với mức độ trong suốt mà bạn
cần. |
Đoạn
mã 1
Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Public Const LWA_ALPHA = &H2
Public Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetLayeredWindowAttributes
Lib "user32" _
(ByVal hwnd As Long, ByVal crKey As Long, _
ByVal bAlpha As Integer, ByVal dwFlags As Long) As
Long |
Đoạn
mã 2
Public Function SetWindow(hwnd As Long, crKey As
Long, _
bAlpha As Integer, dwFlags As Long) As Long
Dim ExStyle As Long
Dim i As Integer
Dim result As Long
ExStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
ExStyle = ExStyle Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, ExStyle
result = SetLayeredWindowAttributes(hwnd, crKey,
bAlpha, dwFlags)
SetWindow = result
End Function |
Đoạn
mã 3
Private Sub Form_Load()
SetWindow Me.hwnd, 0, 50, LWA_ALPHA ' 50 - 240
End Sub |
|
CHƯƠNG CAN CHÍP |
|
|
|
Convert video bị
lỗi |
|
Đó hỏi:
Tôi dùng các chương trình convert video để chuyển
đổi VCD sang AVI, tuy nhiên cứ thực hiện đến gần
cuối đĩa thì báo lỗi. Xem đĩa đó bằng các chương
trình xem phim thì xem hết bình thường. <mi6_007@> |
|
Đây trả lời:
Trường hợp bị lỗi của bạn là do chất lượng đĩa VCD
không tốt lắm, xem phim bình thường là vì tốc độ
truy xuất của ổ đĩa quang khi xem phim không cao,
trong khi thực hiện chuyển đổi (convert) thì chương
trình convert lại truy xuất nhanh dữ liệu trên đĩa,
nếu chất lượng đĩa không tốt thì chương trình đọc dữ
liệu bị lỗi dẫn đến báo lỗi.
Để khắc phục, bạn chép dữ liệu của VCD (ở đây là tập
tin DAT) xuống ổ đĩa cứng rồi thực hiện việc chuyển
đổi. |
|
HIẾU TRUNG |
|
|
|
Phục hồi tab
Desktop trong Display Properties |
|
Đó hỏi:
Gần đây, máy của tôi không tìm thấy Tab Desktop
trong Display Properties, tôi đã xem trong Registry
không có mục DispBackGround, tôi cũng đã thử tạo và
gán số 1, sau đó khởi động, sửa lại số 0, khởi động
lại máy vẫn không thấy có tác dụng. Xin chỉ tôi cách
khắc phục. <ruoixanh2004@> |
|
Đây trả lời:
Bạn thử làm theo cách dưới đây:
1. Bấm Start > Run > gõ lịnh Regedit > bấm OK.
2. Tìm đến khóa
HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Policies\
System > xóa mục NoDispBackgroundPage nếu có.
3. Tìm đến khóa
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
> bấm kép chuột vào mục ClassicShell rồi sửa Value
data thành 0. Nếu mục này chưa có thì bạn tạo mới
bằng cách bấm phím phải chuột vào khóa Explorer
(trong khung bên trái) rồi chọn New > DWORD value
trong menu ngữ cảnh. |
|
|
|
Thay đổi địa chỉ
thư mục TEMP của Windows |
|
Đó hỏi:
Theo mặc định,thư mục TEMP được đặt ở phân vùng cài
hệ điều hành, xin e-CHÍP cho biết cách thay đổi vị
trí của nó. <phucasimo@> |
|
 |
|
Đây trả lời:
Bạn bấm phím phải chuột vào My Computer rồi chọn
Properties trong menu ngữ cảnh > chọn bảng Advanced
và bấm nút Environment Variables > lần lượt bấm kép
chuột vào các mục TEMP, TMP trong khung User
variables (áp dụng cho người dùng) và System
variables (áp dụng cho mọi người) rồi nhập địa chỉ
mới vào ô Variable value trong hộp thoại Edit
Variable. |
|
LÊ HOÀN |
|
[Đầu trang] |