Page 1 of 1

Tạo Aero Glass cho form

Posted: Thu 13/08/2009 8:58 pm
by 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 :

Code: Select all

  1. Imports System.Runtime.InteropServices


Khai báo :

Code: Select all

  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 :

Code: Select all

  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

Posted: Mon 17/08/2009 5:15 pm
by 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

Posted: Mon 17/08/2009 8:39 pm
by 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

Posted: Fri 30/07/2010 7:27 am
by minhduc4477
Zầy làm seo xem! :-/
Image

Re: Tạo Aero Glass cho form

Posted: Fri 30/07/2010 11:46 am
by vo_minhdat2007
Diễn đàn tháo Old Forum rồi.

Re: Tạo Aero Glass cho form

Posted: Thu 16/09/2010 8:26 pm
by 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

Posted: Wed 13/04/2011 8:34 am
by minhtuan99bk
Link tải glass vb6.zip die rồi bác thanhvatung ơi :((

Re: Tạo Aero Glass cho form

Posted: Sat 03/12/2011 12:43 pm
by 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

Posted: Sat 03/12/2011 5:57 pm
by 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

Posted: Sun 04/12/2011 10:52 am
by 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

Posted: Sat 23/11/2013 10:40 pm
by deptraithongminh
bạn có thể chỉnh lại cho control ko trong suốt đc ko ?