我的对话框有背景位图,本来原来是用StretchBlt函数画上去的,其大小总能够适合对话框的大小,不管在什么OS环境以及分辨率下,但是图象有失真,即很模糊,位图上的字也不清楚。(原位图比实际的对话框要大,没有改过)。
为了清晰,我只好一图片的形式放上去,把位图的大小调到和对话框的大小几乎相同,效果很好,在英文OS,中文OS以及不同的分辨率下测试都没有问题,但是发给台北的头头的时候,问题就出来了,位图比对话框小!(用StretchBlt就不会出现这个问题,用BitBlt肯定不行),真是难过!他说可能是字体的原因,LARGE FONT,这个问题该怎么解决?
为了清晰,我只好一图片的形式放上去,把位图的大小调到和对话框的大小几乎相同,效果很好,在英文OS,中文OS以及不同的分辨率下测试都没有问题,但是发给台北的头头的时候,问题就出来了,位图比对话框小!(用StretchBlt就不会出现这个问题,用BitBlt肯定不行),真是难过!他说可能是字体的原因,LARGE FONT,这个问题该怎么解决?
CRect RC;
GetClientRect(RC);
m_cbmp.MoveWindow(RC);
试试。
CRect rtFrame;
GetDlgItem(IDC_FRAME)->GetWindowRect(rtFrame);
StretchBlt(rtFrame.Width(),rtFrame.Height(),.......);
而位图是用实际的象素来度量
你可以用MapDialogRect()和GetDialogBaseUnits()来转换两种度量。然后把对话框设成和Bmp一样大