zoukankan      html  css  js  c++  java
  • Win32 状态栏用法

    WIN32 状态控件用法

    1.创建控件

    状态栏类名:

    STATUSCLASSNAME

    #define STATUSCLASSNAMEW        L"msctls_statusbar32"

     

    控件样式

    dwStyle:   指定控件风格

    SBARS_SIZEGRIP:    状态栏控件将包含状态栏右端的大小调整手柄.定位手柄类似于尺寸边界

                                         它是一个矩形区域,用户可以单击并拖动以调整父窗口的大小.

    SBT_TOOLTIPS:         使用这种风格来启用工具提示.

    SBARS_TOOLTIPS:    与SBT_TOOLTIPS相同

    当然还有窗口类的样式:WS_CHILD|WS_VIBLE

    创建代码

     

    LRESULT CALLBACK MyWindowProc(HWND hWnd, UINT uMsg,

             WPARAM wParam, LPARAM lParam)

    {

             switch (uMsg)

             {

         case WM_CREATE:

             {

                       HWND hStatus = ::CreateWindowEx(0, STATUSCLASSNAME,

                                NULL,

                                WS_CHILD | WS_VISIBLE,

                                0, 0, 0, 0,

                                hWnd,

                                (HMENU)1001,

                                ((LPCREATESTRUCT)lParam)->hInstance,

                                0);

             }break;

         }

             return DefWindowProc(hWnd, uMsg, wParam, lParam);

    }

    控件消息

    SB_ISSIMPLE:            检查状态栏控件以确定它是否处于简单模式.

    SB_SETBKCOLOR:    设置状态栏中的背景颜色

    SB_SETICON:            设置状态中显示的图标

    SB_SETMINHEIGHT:设置状态窗口绘图区域的最小高度.

    SB_SETPARTS:           设置状态窗口中分格数量,(以x坐标定位格子的位置)

    SB_SETTIPTEXT:       为状态栏设置工具提示文本,必须有SBT_TOOLTIPS样式创建的提示工具提示

    SB_SETUNICODEFORMAT:设置显示Unicode字符格式标志.

    SB_SIMPLE:               指定状态窗口是显示简单文本还是显示由前一个SB_SETPARTS消息设置的所有窗口部分.

    示例:

    //将状态栏分为三段,最后为-1表示把剩余部分填满

             int array[3] = { 100,200,-1 };

             SendMessage(hStatus, SB_SETPARTS, 3, (LPARAM)array);

     

             //设置状态栏文本

             SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)TEXT("第一部分"));

             SendMessage(hStatus, SB_SETTEXT, 1, (LPARAM)TEXT("第二部分"));

             SendMessage(hStatus, SB_SETTEXT, 2, (LPARAM)TEXT("第三部分"));

            

             //发送WM_SIZE消息用于重绘控件窗口

             SendMessage(hStatus, WM_SIZE, 0, 0);

    自适应窗口大小

    在父窗口的WM_SIZE消息中给控件发送些消息,让其重绘

    case WM_SIZE:

                       SendMessage(hStatus, WM_SIZE, 0, 0);

                       break;

    通知消息

     

    签名:GreenLeaf1976
  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/greenleaf1976/p/14800282.html
Copyright © 2011-2022 走看看