); // SIZEsizeWindow={m_Image->GetWidth(),m_Image->GetHeight()}; POINTptSrc={0,0}; //SetWindowstyle DWORDdwExStyle=GetWindowLong(Handle,GWL_EXSTYLE); if((dwExStyle&0x80000)!=0x80000) SetWindowLong(Handle,GWL_EXSTYLE,dwExStyle^0x80000); //performthealphablend BOOLbRet=UpdateLayeredWindow(Handle,hdcScreen,&ptWinPos, &sizeWindow,m_hdcMemory,&ptSrc,0,&m_Blend,2); // graph.ReleaseHDC(m_hdcMemory); ReleaseDC(0,hdcScreen); hdcScreen=NULL; ReleaseDC(0,hdcTemp); hdcTemp=NULL; DeleteObject(hBitMap); DeleteDC(m_hdcMemory); m_hdcMemory=NULL; m_Image=NULL; returnbRet; } //--------------------------------------------------------------------------- void__fastcallTfrmMain::FormMouseDown(TObject*Sender, TMouseButtonButton,TShiftStateShift,intX,intY) { if(Button==mbLeft) { ReleaseCapture(); Perform(WM_SYSCOMMAND,SC_MOVE|HTCAPTION,0); } } //--------------------------------------------------------------------------- void__fastcallTfrmMain::miShowAboutClick(TObject*Sender) { MessageBox(Handle, "在BCB中用GDI+实现半透明渐变的特效窗口 " "------------------------- " "byccrun(老妖) " "Welcometowww.ccrun.com", "GDI+Window",MB_OK|MB_ICONINFORMATION); } //--------------------------------------------------------------------------- void__fastcallTfrmMain::miCloseAppClick(TObject*Sender) { Close(); } //--------------------------------------------------------------------------- void__fastcallTfrmMain::miGoToCcrunClick(TObject*Sender) { ShellExecute(Handle,"Open","http://www.ccrun.com",NULL,NULL,SW_SHOW); } //--------------------------------------------------------------------------- void__fastcallTfrmMain::miStayOnTopClick(TObject*Sender) { TMenuItem*mi=(TMenuItem*)Sender; mi->Checked=!mi->Checked; SetWindowPos(Handle,mi->Checked HWND_TOPMOST:HWND_NOTOPMOST, 0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); } //--------------------------------------------------------------------------- void__fastcallTfrmMain::miChangeSkinClick(TObject*Sender) { TOpenDialog*dlgOpen=newTOpenDialog(this); dlgOpen->Filter="PNGfile(*.png)|*.png"; if(dlgOpen->Execute()) { SetTransparent(WideString(dlgOpen->FileName),100); Invalidate(); } deletedlgOpen; }
|