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

on 1/5/2011, 19:42

Admin

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

Đầ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



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ả



Ký tên:
Gemini Photo là nơi cung cấp gói dịch vụ chụp ảnh thời trang, chụp ảnh giá rẻ, chụp ảnh ngoài trời, chụp ảnh cưới,chụp ảnh bé yêu ... dành cho cộng đồng đặc biệt là giới trẻ

Add: 37/144 Ngô Gia Tự - Long Biên - Hà Nội
SĐT: 0166 623 5623
Map: tinyurl.com/map-geminiphoto
Báo giá: tinyurl.com/geminiphoto-baogia

Các bạn có thể coi thêm tại đây:
facebook.com/GeminiPhotoStudio
View user profile 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
on 1/5/2011, 22:07

Member

cái chi mô rửa. ta nhìn mà chẳng hiểu gì.
View user profile

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
on 2/5/2011, 15:27

V.I.P

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

Ký tên:
T *Take care of quality (Chăm lo cho chất lượng)
E *Eager for finding defect (Ham tìm lỗi)
S *Standardize software (Chuẩn hóa phần mềm)
T *Thought of logic (Tư duy lôgíc)
E *Enjoyable job (Nghề thú vị)
R *Raise of carefulness (Tăng thêm sự cẩn thận)
View user profile

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
Today at 23:33

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