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


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

    如图,这就是IE的StatusBar.

    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是图标
    

    PS:

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

    具体可以看SDK下面的Sample MiniPIE

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

    :-)

  • 相关阅读:
    jdbc代码
    openwrt vsftp
    openwrt 配置samba && ubuntu 配置samba
    如何学习开源项目
    Makefile 笔记
    Samba 学习笔记
    quilt-补丁工具
    to-do-list
    新增feeds模块
    linux命令
  • 原文地址:https://www.cnblogs.com/egmkang/p/1728101.html
Copyright © 2020-2023  润新知