TIN HỌC ỨNG DỤNG 2 - K11
Bạn hãy đăng ký làm thành viên để có thể xem các thông tin trong lớp và viết bài trong diễn đàn.

Không những thế, sau khi đăng ký bạn sẽ nhận được sự hỗ trợ của diễn đàn nhiều hơn.
TIN HỌC ỨNG DỤNG 2 - K11
Bạn hãy đăng ký làm thành viên để có thể xem các thông tin trong lớp và viết bài trong diễn đàn.

Không những thế, sau khi đăng ký bạn sẽ nhận được sự hỗ trợ của diễn đàn nhiều hơn.
Change background image
TIN HỌC ỨNG DỤNG 2 - K11

Khoa CNTT - ĐH Công nghiệp Hà Nội


Go downMessage [Page 1 of 1]

© FMvi.vn

1/5/2011, 19:42
MinhTuan
MinhTuan

Admin

Cái này sưu tầm được thấy rất hay nên share cho mọi người Transparent Form không cần Aero 48173

Đầu
tiên là tạo 1 form, FormBorderStyle = none, BackgroundImage là một cái
ảnh png bất kỳ, có thể trong suốt, đổ bóng tùy thích Transparent Form không cần Aero 48173

Transparent Form không cần Aero Untitled1

Mở phần Code ra, dòng đầu tiên import cái này:

Code:
[color=#0600FF]Imports[/color] System.[color=#0000FF]Runtime[/color].[color=#0000FF]InteropServices[/color]
[color=#0600FF]Imports[/color] System.[color=#0000FF]IO[/color]

Trong Class của Form chèn đoạn code này:

Code:
#Region [color=#808080]"CUSTOM <span class="[/color]posthilit[color=#808080]">PAINT</span> METHODS ----------------------------------------------"[/color]
    Protected [color=#FF8000]Overrides[/color] [color=#0600FF]ReadOnly[/color] [color=#FF8000]Property[/color] CreateParams[color=#000000]([/color][color=#000000])[/color] [color=#FF8000]As[/color] CreateParams
        [color=#FF8000]Get[/color]
            [color=#0600FF]Dim[/color] cp [color=#FF8000]As[/color] CreateParams [color=#008000]=[/color] [color=#FF8000]MyBase[/color].[color=#0000FF]CreateParams[/color]
            cp.[color=#0000FF]ExStyle[/color] [color=#008000]=[/color] cp.[color=#0000FF]ExStyle[/color] Or [color=#008000]&[/color]H80000
            [color=#008080][i]' Required: set WS_EX_LAYERED extended style[/i][/color]
            [color=#FF8000]Return[/color] cp
        [color=#0600FF]End[/color] [color=#FF8000]Get[/color]
    [color=#0600FF]End[/color] [color=#FF8000]Property[/color]

    [color=#008080][i]'Updates the Form's display using API calls[/i][/color]
    [color=#FF8000]Public[/color] [color=#0600FF]Sub[/color] UpdateFormDisplay[color=#000000]([/color][color=#FF8000]ByVal[/color] backgroundImage [color=#FF8000]As[/color] Image[color=#000000])[/color]
        [color=#0600FF]Dim[/color] screenDc [color=#FF8000]As[/color] IntPtr [color=#008000]=[/color] API.[color=#0000FF]GetDC[/color][color=#000000]([/color]IntPtr.[color=#0000FF]Zero[/color][color=#000000])[/color]
        [color=#0600FF]Dim[/color] memDc [color=#FF8000]As[/color] IntPtr [color=#008000]=[/color] API.[color=#0000FF]CreateCompatibleDC[/color][color=#000000]([/color]screenDc[color=#000000])[/color]
        [color=#0600FF]Dim[/color] hBitmap [color=#FF8000]As[/color] IntPtr [color=#008000]=[/color] IntPtr.[color=#0000FF]Zero[/color]
        [color=#0600FF]Dim[/color] oldBitmap [color=#FF8000]As[/color] IntPtr [color=#008000]=[/color] IntPtr.[color=#0000FF]Zero[/color]

        [color=#0600FF]Try[/color]
            [color=#008080][i]'Display-image[/i][/color]
            [color=#0600FF]Dim[/color] bmp [color=#FF8000]As[/color] [color=#FF8000]New[/color] Bitmap[color=#000000]([/color]backgroundImage[color=#000000])[/color]
            hBitmap [color=#008000]=[/color] bmp.[color=#0000FF]GetHbitmap[/color][color=#000000]([/color]Color.[color=#0000FF]FromArgb[/color][color=#000000]([/color][color=#FF0000]0[/color][color=#000000])[/color][color=#000000])[/color]
            [color=#008080][i]'Set the fact that background is transparent[/i][/color]
            oldBitmap [color=#008000]=[/color] API.[color=#0000FF]SelectObject[/color][color=#000000]([/color]memDc, hBitmap[color=#000000])[/color]

            [color=#008080][i]'Display-rectangle[/i][/color]
            [color=#0600FF]Dim[/color] size [color=#FF8000]As[/color] Size [color=#008000]=[/color] bmp.[color=#0000FF]Size[/color]
            [color=#0600FF]Dim[/color] pointSource [color=#FF8000]As[/color] [color=#FF8000]New[/color] Point[color=#000000]([/color]0, 0[color=#000000])[/color]
            [color=#0600FF]Dim[/color] topPos [color=#FF8000]As[/color] [color=#FF8000]New[/color] Point[color=#000000]([/color][color=#FF8000]Me[/color].[color=#0600FF]Left[/color], [color=#FF8000]Me[/color].[color=#0000FF]Top[/color][color=#000000])[/color]

            [color=#008080][i]'Set up blending options[/i][/color]
            [color=#0600FF]Dim[/color] blend [color=#FF8000]As[/color] [color=#FF8000]New[/color] API.[color=#0000FF]BLENDFUNCTION[/color][color=#000000]([/color][color=#000000])[/color]
            blend.[color=#0000FF]BlendOp[/color] [color=#008000]=[/color] API.[color=#0000FF]AC_SRC_OVER[/color]
            blend.[color=#0000FF]BlendFlags[/color] [color=#008000]=[/color] 0
            blend.[color=#0000FF]SourceConstantAlpha[/color] [color=#008000]=[/color] 255
            blend.[color=#0000FF]AlphaFormat[/color] [color=#008000]=[/color] API.[color=#0000FF]AC_SRC_ALPHA[/color]

            API.[color=#0000FF]UpdateLayeredWindow[/color][color=#000000]([/color][color=#FF8000]Me[/color].[color=#0000FF]Handle[/color], screenDc, topPos, size, memDc, pointSource, _
            [color=#FF0000]0[/color], blend, API.[color=#0000FF]ULW_ALPHA[/color][color=#000000])[/color]

            [color=#008080][i]'Clean-up[/i][/color]
            bmp.[color=#0000FF]Dispose[/color][color=#000000]([/color][color=#000000])[/color]
            API.[color=#0000FF]ReleaseDC[/color][color=#000000]([/color]IntPtr.[color=#0000FF]Zero[/color], screenDc[color=#000000])[/color]
            [color=#0600FF]If[/color] hBitmap <> IntPtr.[color=#0000FF]Zero[/color] [color=#FF8000]Then[/color]
                API.[color=#0000FF]SelectObject[/color][color=#000000]([/color]memDc, oldBitmap[color=#000000])[/color]
                API.[color=#0000FF]DeleteObject[/color][color=#000000]([/color]hBitmap[color=#000000])[/color]
            [color=#0600FF]End[/color] [color=#0600FF]If[/color]
            API.[color=#0000FF]DeleteDC[/color][color=#000000]([/color]memDc[color=#000000])[/color]
        [color=#0600FF]Catch[/color] generatedExceptionName [color=#FF8000]As[/color] Exception
        [color=#0600FF]End[/color] [color=#0600FF]Try[/color]
    [color=#0600FF]End[/color] [color=#0600FF]Sub[/color]
#End Region

    Protected [color=#FF8000]Overrides[/color] [color=#0600FF]Sub[/color] OnPaint[color=#000000]([/color][color=#FF8000]ByVal[/color] e [color=#FF8000]As[/color] PaintEventArgs[color=#000000])[/color]
        UpdateFormDisplay[color=#000000]([/color][color=#FF8000]Me[/color].[color=#0000FF]BackgroundImage[/color][color=#000000])[/color]
    [color=#0600FF]End[/color] [color=#0600FF]Sub[/color]

Event Form_Load thêm dòng này:
Code:
 UpdateFormDisplay[color=#000000]([/color][color=#FF8000]Me[/color].[color=#0000FF]BackgroundImage[/color][color=#000000])[/color]
Sau Class của Form, chèn thêm đoạn code này:
Code:
[color=#FF8000]Friend[/color] [color=#0600FF]Class[/color] API
    [color=#FF8000]Public[/color] [color=#0600FF]Const[/color] AC_SRC_OVER [color=#FF8000]As[/color] [color=#FF0000]Byte[/color] [color=#008000]=[/color] [color=#008000]&[/color]H0
    [color=#FF8000]Public[/color] [color=#0600FF]Const[/color] AC_SRC_ALPHA [color=#FF8000]As[/color] [color=#FF0000]Byte[/color] [color=#008000]=[/color] [color=#008000]&[/color]H1
    [color=#FF8000]Public[/color] [color=#0600FF]Const[/color] ULW_ALPHA [color=#FF8000]As[/color] Int32 [color=#008000]=[/color] [color=#008000]&[/color]H2

    <StructLayout[color=#000000]([/color]LayoutKind.[color=#0000FF]Sequential[/color], Pack:[color=#008000]=[/color]1[color=#000000])[/color]> _
    [color=#FF8000]Public[/color] [color=#0600FF]Structure[/color] BLENDFUNCTION
        [color=#FF8000]Public[/color] BlendOp [color=#FF8000]As[/color] [color=#FF0000]Byte[/color]
        [color=#FF8000]Public[/color] BlendFlags [color=#FF8000]As[/color] [color=#FF0000]Byte[/color]
        [color=#FF8000]Public[/color] SourceConstantAlpha [color=#FF8000]As[/color] [color=#FF0000]Byte[/color]
        [color=#FF8000]Public[/color] AlphaFormat [color=#FF8000]As[/color] [color=#FF0000]Byte[/color]
    [color=#0600FF]End[/color] [color=#0600FF]Structure[/color]

    [color=#FF8000]Public[/color] [color=#0600FF]Declare[/color] [color=#FF8000]Auto[/color] [color=#0600FF]Function[/color] UpdateLayeredWindow Lib [color=#808080]"user32.dll"[/color] [color=#000000]([/color][color=#FF8000]ByVal[/color] hwnd [color=#FF8000]As[/color] IntPtr, [color=#FF8000]ByVal[/color] hdcDst [color=#FF8000]As[/color] IntPtr, [color=#FF8000]ByRef[/color] pptDst [color=#FF8000]As[/color] Point, [color=#FF8000]ByRef[/color] psize [color=#FF8000]As[/color] Size, [color=#FF8000]ByVal[/color] hdcSrc [color=#FF8000]As[/color] IntPtr, [color=#FF8000]ByRef[/color] pprSrc [color=#FF8000]As[/color] Point, _
    [color=#FF8000]ByVal[/color] crKey [color=#FF8000]As[/color] Int32, [color=#FF8000]ByRef[/color] pblend [color=#FF8000]As[/color] BLENDFUNCTION, [color=#FF8000]ByVal[/color] dwFlags [color=#FF8000]As[/color] Int32[color=#000000])[/color] [color=#FF8000]As[/color] [color=#FF0000]Boolean[/color]


    [color=#FF8000]Public[/color] [color=#0600FF]Declare[/color] [color=#FF8000]Auto[/color] [color=#0600FF]Function[/color] GetDC Lib [color=#808080]"user32.dll"[/color] [color=#000000]([/color][color=#FF8000]ByVal[/color] hWnd [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] IntPtr

    [color=#FF8000]Public[/color] [color=#0600FF]Declare[/color] [color=#FF8000]Auto[/color] [color=#0600FF]Function[/color] CreateCompatibleDC Lib [color=#808080]"gdi32.dll"[/color] [color=#000000]([/color][color=#FF8000]ByVal[/color] hDC [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] IntPtr

    <DllImport[color=#000000]([/color][color=#808080]"user32.dll"[/color], ExactSpelling:[color=#008000]=[/color][color=#0600FF]True[/color][color=#000000])[/color]> _
    [color=#FF8000]Public[/color] [color=#FF8000]Shared[/color] [color=#0600FF]Function[/color] ReleaseDC[color=#000000]([/color][color=#FF8000]ByVal[/color] hWnd [color=#FF8000]As[/color] IntPtr, [color=#FF8000]ByVal[/color] hDC [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] [color=#FF0000]Integer[/color]
    [color=#0600FF]End[/color] [color=#0600FF]Function[/color]

    [color=#FF8000]Public[/color] [color=#0600FF]Declare[/color] [color=#FF8000]Auto[/color] [color=#0600FF]Function[/color] DeleteDC Lib [color=#808080]"gdi32.dll"[/color] [color=#000000]([/color][color=#FF8000]ByVal[/color] hdc [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] [color=#FF0000]Boolean[/color]


    <DllImport[color=#000000]([/color][color=#808080]"gdi32.dll"[/color], ExactSpelling:[color=#008000]=[/color][color=#0600FF]True[/color][color=#000000])[/color]> _
    [color=#FF8000]Public[/color] [color=#FF8000]Shared[/color] [color=#0600FF]Function[/color] SelectObject[color=#000000]([/color][color=#FF8000]ByVal[/color] hDC [color=#FF8000]As[/color] IntPtr, [color=#FF8000]ByVal[/color] hObject [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] IntPtr
    [color=#0600FF]End[/color] [color=#0600FF]Function[/color]

    [color=#FF8000]Public[/color] [color=#0600FF]Declare[/color] [color=#FF8000]Auto[/color] [color=#0600FF]Function[/color] DeleteObject Lib [color=#808080]"gdi32.dll"[/color] [color=#000000]([/color][color=#FF8000]ByVal[/color] hObject [color=#FF8000]As[/color] IntPtr[color=#000000])[/color] [color=#FF8000]As[/color] [color=#FF0000]Boolean[/color]
[color=#0600FF]End[/color] [color=#0600FF]Class[/color]

Giờ thì mọi người ấn F5 để xem kết quả Transparent Form không cần Aero 48173

Transparent Form không cần Aero Rse2-1
http://my.opera.com/anhlavip12a4/blog/

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà MinhTuan
Trả lời nhanh
1/5/2011, 22:07
TheHung
TheHung

Member

cái chi mô rửa. ta nhìn mà chẳng hiểu gì.Transparent Form không cần Aero 390957

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà TheHung
Trả lời nhanh
2/5/2011, 15:27
TaiChat
TaiChat

V.I.P

bố ông viết chả đầu chả cuối thế này thì ai mà hiểu được =))

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà TaiChat
Trả lời nhanh

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Sponsored content
Trả lời nhanh

Back to topMessage [Page 1 of 1]

  © FMvi.vn

« Xem bài trước | Xem bài kế tiếp »

Bài viết liên quan

    Quyền hạn của bạn:

    You cannot reply to topics in this forum