Trang 1 trên 1

Tạo Aero Glass cho form

Đã gửi: T.Năm 13/08/2009 8:58 pm
gửi bởi vo_minhdat2007
Thủ thuật: Tạo Aero Glass cho form
Tác giả: Sưu tầm
Mô tả: Tạo form trong suốt dạng Aero, chỉ dùng trên Windows Vista và 7, không báo lỗi nhưng không tác dụng nếu chạy chế độ Basic hoặc trên Windows XP



Untitled.jpg


Trước tiên, Import namespace này :

Mã: Chọn hết

  1. Imports System.Runtime.InteropServices


Khai báo :

Mã: Chọn hết

  1.    <StructLayout(LayoutKind.Sequential)> _
  2.     Public Structure MARGINS
  3.         Public cxLeftWidth As Integer
  4.         Public cxRightWidth As Integer
  5.         Public cyTopHeight As Integer
  6.         Public cyButtomheight As Integer
  7.     End Structure
  8.  
  9.     <DllImport("dwmapi.dll")> _
  10.     Public Shared Function DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByRef pMarinset As MARGINS) As Integer
  11.     End Function


Sử dụng với code mẫu :

Mã: Chọn hết

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         On Error Resume Next
  3.         Dim margins As MARGINS = New MARGINS
  4.         margins.cxLeftWidth = -1
  5.         margins.cxRightWidth = -1
  6.         margins.cyTopHeight = -1
  7.         margins.cyButtomheight = -1
  8.         Dim hwnd As IntPtr = Me.Handle
  9.         Dim result As Integer = DwmExtendFrameIntoClientArea(hwnd, margins)
  10.     End Sub


Trong đó, -1 có nghĩa là sẽ áp dụng hết form, bạn có thể sửa thành số khác nếu muốn chỉ áp dụng 1 phần nào đó (như Windows Media Player của Windows Vista). VD với Bottom = 5, và các số liệu khác là 0 :

Untitled.jpg


Chú ý : Chỉ trong suốt tốt nhất với phần màu đen, hãy đổi BackColor thành Black! Nếu không thì hiệu ứng sẽ "không được như ý :D"

Re: Tạo Aero Glass cho form

Đã gửi: T.Hai 17/08/2009 5:15 pm
gửi bởi vo_minhdat2007
Dùng chung với code sau nếu không muốn backcolor chịu màu đen khi chạy không có Aero
viewtopic.php?f=51&t=8857&start=0

Re: Tạo Aero Glass cho form

Đã gửi: T.Hai 17/08/2009 8:39 pm
gửi bởi hdn
thêm cái này, đào lên từ "mộ cổ" :D
http://caulacbovb.com/oldforum/viewtopi ... hilit=Aero
Chạy được trên cả XP lẫn các hệ điều hành khác (miễn hỗ trợ .NET, ko cần đến Vista hay win 7)

Re: Tạo Aero Glass cho form

Đã gửi: T.Sáu 30/07/2010 7:27 am
gửi bởi minhduc4477
Zầy làm seo xem! :-/
Hình ảnh

Re: Tạo Aero Glass cho form

Đã gửi: T.Sáu 30/07/2010 11:46 am
gửi bởi vo_minhdat2007
Diễn đàn tháo Old Forum rồi.

Re: Tạo Aero Glass cho form

Đã gửi: T.Năm 16/09/2010 8:26 pm
gửi bởi thanhvatung
chao các bác.
em mới tìm được cái này nhưng chưa test. mong các bác test dum nếu được thì tốt quá. em chi lang thang trên mạng vô tình vớ được thôi. nếu không thành công, mong các bác bỏ quá cho. cái này chạy trên XP được( theo như tác giả nói)
glass vb6.zip

Re: Tạo Aero Glass cho form

Đã gửi: T.Tư 13/04/2011 8:34 am
gửi bởi minhtuan99bk
Link tải glass vb6.zip die rồi bác thanhvatung ơi :((

Re: Tạo Aero Glass cho form

Đã gửi: T.Bảy 03/12/2011 12:43 pm
gửi bởi ico
Khổ một nỗi là button text bị chuyển sang màu trắng thì sửa như thế nào ạ?

Re: Tạo Aero Glass cho form

Đã gửi: T.Bảy 03/12/2011 5:57 pm
gửi bởi vo_minhdat2007
Mình nhớ hình như chỉ Label bị chứ Button đâu có bị nhỉ? ico cho Button đó vào GroupBox hay gì đúng không? Do Aero là của Microsoft, khi thiết kế MS dành Aero cho các form không có những control đó nên ta phải thiết kế theo ý MS, còn không thì phải bỏ Aero :(

Re: Tạo Aero Glass cho form

Đã gửi: CN 04/12/2011 10:52 am
gửi bởi ico
Chán quá. Button, label, thậm chí là tabcontrol(phần nằm trong vùng aero) đều bị thành mau trắng cả.

Re: Tạo Aero Glass cho form

Đã gửi: T.Bảy 23/11/2013 10:40 pm
gửi bởi deptraithongminh
bạn có thể chỉnh lại cho control ko trong suốt đc ko ?