『壹』 想用MFC做個界面,但不知道如何在MFC對話框中插入背景圖片,把這圖片用於登錄界面的背景
背景圖像載入很簡單,你只需要做以下幾步即可(假設你的登陸界面對話框類名叫「CLoginDlg」):
(1)菜單「Insert」->"Resource",選擇Bitmap,然後點「Import...」,選擇你的背景圖像,然後假設該資源ID為「IDB_BITMAP1」;
(2)在LoginDlg.h下聲明一個CBitmap m_BKbitmap;
(3)在LoginDlg.cpp的構造函數中:m_BKbitmap.LoadBitmap(IDB_BITMAP1);
(4)在LoginDlg.cpp的OnPaint()函數中寫上:
void CLoginDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
if (IsIconic())
{
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
BITMAP bm;
CRect rect;
CDC dcMem;
m_BKbitmap.GetBitmap (&bm);
GetClientRect(&rect);
dcMem.CreateCompatibleDC (&dc);
CBitmap *oldbitmap=dcMem.SelectObject (&m_BKbitmap);
dc.BitBlt (0,0,bm.bmWidth ,bm.bmHeight ,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(oldbitmap);
CDialog::OnPaint();
}
}
你的問題就OK了。
關於按鈕控制項顯示圖片,建議你可以下載一個CButton的繼承類,什麼「CButtonST」啊、「CBtnST」啊、「CDlgShadeButtonST」啊,自己手寫的話不劃算,有很多現成的控制項類,都寫的非常好,完全可以拿來為我們所用。
『貳』 VC6.0MFC中怎樣給對話框添加背景圖片
你添加的這個不是bmp點陣圖文件
附加點陣圖的時候,不能單單是把文件後綴改成.bmp
你可以用畫圖,或者其他看圖工具,打開圖片後另存為bmp格式
再插入的時候,就會變成點陣圖附加到項目中了
附加了以後,圖片的id會變成IDB_BITMAP1,你可以改成自己想要的名字
『叄』 MFC怎麼為不同的對話框設置不同的背景
MFC設置背景,採用添加Bitmap的方法,首先把你想要設置為背景的圖片轉換成bmp格式,然後再引入到工程裡面,再在每個對話框中添加控制項,再選擇。具體見圖:
1、首先在工程添加bitmap,右擊工程名,添加。
不同的對話框中,選擇不同的圖像就行了,圖像就是你引入的。