如何动态创建Picture控件 [英] how to create Picture control dynamically
本文介绍了如何动态创建Picture控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的代码是
My code is
pStatic->Create(sCaption,WS_CHILD|WS_VISIBLE,CRect(x,y,x+sz.cx,y+sz.cy),this,nID);
pStatic->SetFont(GetFont());
CBitmap m_Bitmap;
LPCSTR str="C:\\Users\\ABC\\Desktop\\imran khan\\ZFDemo_03Sep\\ZF1SDKDemo\\res\\Matched.bmp";
HBITMAP hBitMap = (HBITMAP)::LoadImageA(NULL,str,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
pStatic->SetBitmap(hBitMap);
bool j=pStatic->GetBitmap();
if(iTab == 0)
{
pStatic->ShowWindow(SW_SHOW);
}
else
{
pStatic->ShowWindow(SW_HIDE);
}
iLastBottom = y + sz.cy;
iLastRight = x + sz.cx;
iLastLeft = x;
iLastTop = y;
//save the item struct to the object array
ITEM* pItem = new ITEM;
pItem->bTabStop = FALSE;
pItem->iTab = iTab;
pItem->wnd = (CWnd*)pStatic;
obArray.Add((CObject*)pItem);
它不会渲染Match.bmp图像。
It does not render Match.bmp image.
推荐答案
创建静态控件时需要添加SS_BITMAP样式。
http://msdn.microsoft。 com / en-us / library / b7w5x74z.aspx [ ^ ]
You will need to add the SS_BITMAP style when you create your static control.
http://msdn.microsoft.com/en-us/library/b7w5x74z.aspx[^]
您必须将SS_BITMAP
样式传递给CStatic :: Create ()
显示位图图像。请参阅 CStatic :: Create() [ ^ ] 。
这没有任何意义:
You must pass theSS_BITMAP
style toCStatic::Create()
to display a bitmap image. See CStatic::Create()[^] in the MSDN.
This makes no sense:
bool j=pStatic->GetBitmap();
GetBitmap()
的返回值是一个 HBITMAP
句柄,如果 SetBitmap()
成功。
The return value of GetBitmap()
is a HBITMAP
handle, not bool
and will be the same as your hBitMap
variable if SetBitmap()
was successful.
这篇关于如何动态创建Picture控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文