Picture 控件,不知怎样加载图片?
我是这样做的:
CBitmap Bitmap;
BITMAP bm;
Bitmap.LoadBitmap(IDB_BITMAP1);
Bitmap.GetObject(sizeof(BITMAP), &bm); ((CStatic*)GetDlgItem(IDC_STATIC_WC))->SetBitmap((HBITMAP)Bitmap.Detach());
但结果不是预期的,请问怎么回事?另外还有一个问题:怎样改变此控件的背景色?
我是这样做的:
CBitmap Bitmap;
BITMAP bm;
Bitmap.LoadBitmap(IDB_BITMAP1);
Bitmap.GetObject(sizeof(BITMAP), &bm); ((CStatic*)GetDlgItem(IDC_STATIC_WC))->SetBitmap((HBITMAP)Bitmap.Detach());
但结果不是预期的,请问怎么回事?另外还有一个问题:怎样改变此控件的背景色?
general-》type中选择Bitmap,在下面的image中选中插入的位图资源
好像静态控件没有SetBkcolor(...) ?
m_bitmap.LoadBitmap(IDB_BITMAP3);
m_PIC.SetBitmap(m_bitmap);
即可!
2.重成生成一个类,处理CtlColor消息:
HBRUSH CXXXXXXX::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: Change any attributes of the DC herepDC->SetBkMode(TRANSPARENT); //在这设置背景色
pDC->SetTextColor(RGB(0,255,255)); //此处设置字体的颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH)); //// TODO: Return a non-NULL brush if the parent's handler should not be called
//return NULL;
}
怎么又没效果啊?
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch(nCtlColor)
{
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
static CBrush br(RGB(255,0,0));
hbr = (HBRUSH)br;
}
break;
default:
break;
}
return hbr;
}
但要注意在类向导中要选择 =WM_CTLCOLOR, 而不是WM_CTLCOLOR消息。