当前位置:编程学习 > 网站相关 >>

Picture Control

picture control就是简单在页面上放一个图片上去.默认支持的图片格式是Bitmap和Icon,如果想放其他的如jpg则需要写很多代码了啊.

 

静态添加图标
如果在Resource里面已经添加了Bitmap或Icon图标,那往picture中加入图标很简单,设几个属性就行

把Type设为Icon,然后在Image属性下面选择已经添加的Icon图标.

或者把Type设为Bitmap,然后在Image下选Bitmap图标

 

Type属性中还有两个常用的属性是

Etched Horz:显示一条横分割线,线的长短和宽度用鼠标拉动下去调.

Etched Vert:显示一条竖分割线


另外几种Type就不那么常用了

 Rectangle:显示一个填充的矩形框,矩形颜色可通过Color属性的下拉列表设定

 Enhanced Metafile:显示一个加强的元数据文件(Metafile)

Owner Draw:自绘


 

动态加载图标
静态加载图标是已经知道是显示个啥图片.但如果有时事先不知道要显示哪个图标,得根据一些判断条件然后才能确定显示啥.这时需要写代码实现

先给picture button绑定一个变量,不过由于它默认的ID跟Static Text一样,不管你添加几个都一直默认是IDC_STATIC,所以是这个ID时绑定变量会失败(因为多个控件时都默认的IDC_STATIC无法区分它们了),也不知道当初微软为啥要把ID都默认成一样的,不像其他控件一样自动在后面加后缀数字区分.这我猜是那些人偷懒的结果.

反正随便把ID改个名字就行.就改成IDC_PIC吧.

CStatic m_pic;

DDX_Control(pDX, IDC_PIC, m_pic);

 

//动态加载,这些代码要写在OnInitDialog中貌似不会生效,弄一个button,然后添加地个消息处理函数放进就会生效.原因还有待研究.

//另外如果要加载bitmap,得先把控件的Type设为Bitmap

CBitmap bp;

HBITMAP hBP;

bp.LoadBitmapW(IDB_BITMAP3);

hBP = (HBITMAP)bp.GetSafeHandle();

m_pic.SetBitmap(hBP);

 

 

 

 

补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,