Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ ĐÓ HỎI, ĐÂY TRẢ LỜI TC 80
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]