OnInitDialog方法
PostMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); CRect rect; GetClientRect(&rect); ::SetWindowPos( AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,rect.left, rect.top,rect.right,rect.bottom,SWP_NOMOVE); GetCursorPos(&mPoint);
OnCtlColor方法(颜色设置)
if(nCtlColor==CTLCOLOR_DLG) { CBrush m_Brush(RGB(0,0,0)); //颜色设置 CRect rect; GetClientRect(&rect); pDC->SelectObject(&m_Brush); pDC->FillRect(rect,&m_Brush); return m_Brush; }
OnCtlColor方法(背景图片设置)
//加载位图资源 CBitmap bkGrnd; bkGrnd.LoadBitmapW( IDB_BITMAP_BK); //绘制背景 if( nCtlColor==CTLCOLOR_DLG ) { CBrush brush(&bkGrnd); CRect rect; GetClientRect(rect); pDC->SelectObject(&brush); pDC->FillRect(rect,&brush); return brush; }
使用图片控件为对话框设置背景
对话框添加一个图片控件,Type设为Bitmap属性,Image设为对应的资源ID,也可以将对话框的背景设为对应图像。
但是存在一个问题,由于控件加载顺序不一样,当图片控件顺序ID小于其余控件时,资源编辑器中图片控件会遮挡其余控件,反之,在程序运行时,其余控件不能正常显示,只有鼠标滑过后,控件才能显示出来。将除背景图片控件之外的控件transparent属性设为TRUE就可以解决这个问题