1,、ON_WM_CTLCOLOR消息 代碼: HBRUSH CDlgDevQuery::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CBCGPDialog::OnCtlColor(pDC, pWnd, nCtlColor); CFont Font; Font.CreateFont(28,0,0,0,0,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,_T("微軟雅黑")); switch (nCtlColor) { case CTLCOLOR_DLG: // 對話框 case CTLCOLOR_EDIT: // 編輯框 //case CTLCOLOR_LISTBOX: //列表框 case CTLCOLOR_MSGBOX: // 消息框 case CTLCOLOR_SCROLLBAR: // 滑動條 case CTLCOLOR_STATIC: //靜態(tài)文本框,、矩形等。 case CTLCOLOR_BTN: //按鈕 //pDC->SetBkColor(RGB(25,26,30)); //pDC->SetTextColor(RGB(255,255,255)); //設(shè)置字體顏色 //break; { //pDC->SetBkMode(0); //HBRUSH B = CreateSolidBrush( RGB(25,26,30)); //return (HBRUSH) B; pDC->SetBkMode(TRANSPARENT); //pDC->SetBkColor(RGB(255,255,255)); //pDC->SelectObject(&Font); return (HBRUSH)::GetStockObject(NULL_BRUSH); } //default: //其他控件設(shè)置自己默認的顏色和背景刷. // return CDialog::OnCtlColor(pDC, pWnd, nCtlColor); } return hbr; 2,、設(shè)置透明窗口屬性(在OnInitDialog函數(shù)中): //加入WS_EX_LAYERED擴展屬性SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);//設(shè)置背景透明屬性 3、添加實現(xiàn)透明度函數(shù): 參數(shù) transparency):透明度值 添加Slider控件及綁定變量m_Slider 在OnInitDialog,,設(shè)置范圍:15-255(因為透明度的值范圍為:0-255,而0的話,到時對話框?qū)ソ裹c而消失) 同時設(shè)置透明度初始值,代碼如下: |
|
來自: 3D建模仿真 > 《學(xué)習筆記》