[WM]创建一个StatusBar(入门级)

Windows风格的程序经常会有StatusBar.这篇文章就简单的介绍下怎么创建并修改StatusBar里面的内容.

如图,这就是IE的StatusBar.

2010050515131797.png

 

WM里面的StatusBar跟Windows的类似,不过消息略少一些.

g_hwndStatus = CreateStatusWindow(WS_CHILD | CCS_TOP | WS_VISIBLE, 
		L"12", 		//这里为StatusBar初始的WindowText
		hWnd, 		//父窗口句柄
		0xE8011 );	//这个就是ID号,跟控件的那种类似

按后需要发送消息,给StatusBar说,有一个部分,每个部分都是多长:

 

static int statusBarPart[3]={50,100,-1};  //这里的数字是每个Part结束的坐标,-1表是占有剩下的区域
SendMessage(g_hwndStatus,
		SB_SETPARTS,
		3,					  //Parts的数量
		(LPARAM)statusBarPart);	//Parts区域对应的int数组,如果某个区域是-1,那么他就占有剩下的区域

现在剩下的就是给各个parts图标,或者文字了.

 

SendMessage(g_hwndStatus,SB_SETTEXT ,0,(LPARAM)message);  //SB_SETTEXT是文字
SendMessage(g_hwndStatus,SB_SETICON,1,(LPARAM)hIcon);    //SB_SETICON是图标

 

2010050515321114.png

 

PS:

StatusBar如果被创建在Window的Bottom的时候,那个时候Window的Rect可能不太正确,这样StatusBar可能看不见,需要把Window Move一下,减去MenuBar的高度.

具体可以看SDK下面的Sample MiniPIE

另外Windows下面StatusBar还可以点击之类的,在WM上面并没有相应的消息

:-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值