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;

通知消息

Win32 状态栏用法的更多相关文章

  1. Win32 配置文件用法

    #include "stdafx.h"#include <Shlobj.h>#include <Shlwapi.h> #pragma comment(lib ...

  2. Android学习总结(十五) ———— Notification(状态栏通知)基本用法

    一.Notification基本概念  Notification是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容.我们在用手机的时候 ...

  3. win32 sdk 环境下创建状态栏

    今天在学习状态栏,出了好多的问题,这里记录下. 要创建状态栏用:CreateStatusWindow CreateStatusWindow函数创建一个状态窗口,通常用于显示应用程序的状态.窗口通常显示 ...

  4. C# 调Win32 API SendMessage简单用法及wMsg常量

    函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.该函数是应用程序和应用程序之间进行消息传递的主要手段之一.     函数原型:LRESU ...

  5. win32 TreeCtrl控件通知消息, LVN_SELCHANGED和LVN_ITEMCHANGED用法

    今天出了个奇怪的问题,当我在主窗口上创建一个用模板对话框的子窗口时, 在子窗口上放的TreeCtrl控件不响应LVN_SELCHANGED消息,也是晕死了, 我以为是消息捕获的问题,我在主窗口上也捕获 ...

  6. MyEclipse相关用法介绍

    MyEclipse相关用法介绍 ================================================================================ 编辑: ...

  7. cocos2d-x 从win32到android移植的全套解决方案

    引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我们在移植过程中遇到了很多的问题,同时也发现网上的资料少而不全.所以在项目行将结束的时候,我们特地写了这 ...

  8. 自动创建WIN32下多级子目录的C++封装类

            这是 WIN32 自动创建多级子目录的 C++ 封装类,用法简单.         封装没有采用类的静态函数方式,而是在构造函数里面直接完成工作.没什么具体的原因,只是当时做成这样了, ...

  9. duilib各种布局的作用,相对布局与绝对布局的的意义与用法

    大多数刚使用duilib的朋友时候非常依赖duilib自带的设计器,用他可以拖拉控件,可视化的做出自己想要的界面.可是用一段时间就会发现原带的设计器有很多bug,时不时会崩溃,支持的控件数量有限,属性 ...

  10. sprintf()函数的用法

    Visual C++ sprintf()函数用法 转:http://blog.csdn.net/masikkk/article/details/5634886 在将各种类型的数据构造成字符串时,spr ...

随机推荐

  1. 将PaddleOCR 转为 ONNX 运行

    PaddleOCR 是目前最好的开源OCR框架, 但paddle框架的兼容性实在不怎么好, 部署的时候容易出现各种各样的问题. 如果能把PaddleOCR转成ONNX, 就可以跳过paddle框架坑的 ...

  2. 2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输

    2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值. 如果找不到这样的子数组,返回0. 输 ...

  3. QT学习:09 QByteArray

    --- title: framework-cpp-qt-09-QByteArray EntryName: framework-cpp-qt-09-QByteArray date: 2020-04-16 ...

  4. 基于GNU ARM Eclipse的集成环境搭建

    背景 老师送给我的STM32的板子不小心给我坏了,现在疫情还没过去,为了复习巩固stm32有关的移植,只能先玩玩仿真了. 我们在这一讲主要以搭建环境为主. host平台 :Ubuntu 16.04 G ...

  5. 单片机升级,推荐此79元双核A7@1.2GHz国产平台的8个理由

    含税79元即可运行Linux操作系统 对于嵌入式软件开发者而言,单片机令人最痛苦的莫过于文件操作.79元T113-i工业核心板(基于全志国产处理器,国产化率100%)可运行Linux操作系统,可使用L ...

  6. Unity 中关于SubMesh的拾取问题

    问题背景 最近在开发一个功能,钻孔功能,每一层(段)都需要单独拾取,显示不同的颜色,使用不同材质 问题分析 对于这个功能,由于上述需求,很容易想到用submesh实现,但是主要问题是在于对于Subme ...

  7. Java-用户登录验证案例

    用户登录验证 1.案例需求: 1.访问带有验证码的登录页面login.jsp 2.用户输入用户名,密码以及验证码 * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 * 如果验证码输入 ...

  8. tensorflow学习率指数衰减ExponentialDecay的参数介绍与使用方法

      本文介绍在tensorflow库中,用于动态调整神经网络的学习率的一种方法--指数衰减ExponentialDecay()策略的参数含义及其具体用法.   在进行神经网络训练时,我们经常需要用到动 ...

  9. Django model 层之Making Query总结

    Django model 层之Making Query总结 by:授客 QQ:1033553122 实践环境 Python版本:python-3.4.0.amd64 下载地址:https://www. ...

  10. P1081 [NOIP2012 提高组] 开车旅行

    思路: 首先令 \(nxt1_i\) 表示右侧最近的城市距离(\(id1_i\) 为编号),令 \(nxt2_i\) 表示右侧第二近的城市编号(\(id2_i\) 为编号):可以使用 set 找出离这 ...