对话框全屏显示/背景设置

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就可以解决这个问题

你可能感兴趣的:(对话框全屏显示/背景设置)