在对话上放了一个Picture控件,并载入一幅位图,将Picture的大小调得和位图的大小一样(在Windows2000下),但当我在Widnows98下再次运行这个对话框程序时,Picture控件变大了(整个对话框和其中的控件都变大了),但其中的位图没有随着变大,显得很难看,请问:
1:怎么才能让位图随Picture尺寸的变化而变化?
2:怎样避免在不同的Widnows平台上运行时,整个对话框和其中的控件尺寸变化?
不要太麻烦了,直接把位图画在对话框上就好了.给你代码
CClientDC dc(this); // device context for painting
CDC memDC;
memDC.CreateCompatibleDC(&dc);
memDC.SelectObject(mBitmap);
CRect rect, rectWnd;
GetWindowRect(rectWnd);
GetClientRect(rect);
int width,height;
CBitmap mBitmap;
mBitmap.LoadBitmap(....这里填入你资源的id)
BITMAP *pBitMap;
pBitMap = new BITMAP;
mBitmap.GetBitmap(pBitMap);
width=pBitMap->bmWidth;
height=pBitMap->bmHeight;
dc.StretchBlt(rect.left,rect.top,rect.Width(), rect.Height(),&memDC,0,0,width,height,SRCCOPY);
整个代码写到你的对话框OnPaint()函数中就行了。还会随着你的对话框大小变化而缩放位图呢,比Picture控件好多了。:)