首頁 > 編程 > Java > 正文

            制作透明窗體

            2019-09-06 23:33:16
            字體:
            供稿:網(wǎng)友

                                1.重載CreateParams函數(shù),設(shè)置透明風(fēng)格
            2.然后重載它的WM_ERASEBKGND消息。
            代碼片段:

            .h File
            class TYourForm:public TForm
            {
            private:
            /tvoid __fastcall WMNC(TMessage &Message);
            public:
            /t__fastcall TYourForm(TComponent *Owner);
            /tBEGIN_MESSAGE_MAP
            /t  VCL_MESSAGE_HANDLER(WM_ERASEBKGND,TMessage,WMNC);
            /tEND_MESSAGE_MAP(TForm);
            protected:
            /tvirtual void __fastcall CreateParams(TCreateParams &Params);
            }


            .cpp File

            void __fastcall TYourForm::CreateParams(TCreateParams &Params)
            {
             TForm::CreateParams(Params);
             Params.EX_STYLE|=WS_EX_TRANSPARENT;
            }
            void __fastcall TYourForm::WMNC(TMessage &Message)
            {
             SetBkMode(GetWindowDC(this->Handle),OPAQUE);
             ReleaseDC(this->Handle,GetWindowDC(this->Handle)) ;
             Messgae.Result=1;
            }
            發(fā)表評(píng)論 共有條評(píng)論
            用戶名: 密碼:
            驗(yàn)證碼: 匿名發(fā)表