1. 程式人生 > >MFC插入背景圖片(自繪的方式)

MFC插入背景圖片(自繪的方式)

void XYLogin::OnPaint()
{
	
	if (IsIconic())//最小化訊息
	{
		CPaintDC dc(this); // device context for painting
						   // TODO: 在此處新增訊息處理程式程式碼
						   // 不為繪圖訊息呼叫 CDialogEx::OnPaint()

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

	}
	else
	{
		CPaintDC dc(this);

		CRect   rect;
		GetClientRect(rect);
		dc.FillSolidRect(rect, RGB(235, 246, 255)); //繪製背景
		SetText(&dc, &rect);//設定字型樣式

		CRect rc;
		GetWindowRect(&rc);
		CImage mImage_title,mImage_footer;
		if ((mImage_title.Load(_T(Util::GetWorkPath() + "\\img\\login_title_concrete.png")) == S_OK)&&(mImage_footer.Load(_T(Util::GetWorkPath() + "\\img\\login_crop_info_concrete.png"))) == S_OK)
		{
			mImage_title.Draw(GetDC()->GetSafeHdc(), CRect(0, 0, rc.Width(), rc.Height() / 6+10));
			mImage_footer.Draw(GetDC()->GetSafeHdc(), CRect(0, rc.Height()/7*5+25, rc.Width(), rc.Height()-30));
		}
	}