Win32 滚动条控件
1.创建控件
|
HWND hScrollBar = ::CreateWindow( WC_SCROLLBAR, //控件类名 NULL, //窗口标题文本 WS_VISIBLE | WS_CHILD | SBS_TOPALIGN, //控件风格样式 10, 100, 200, 40, //控件显示位置坐标 m_hWnd, //父窗口句柄 (HMENU)IDC_SCROLLBAR1, //控件ID号 m_hInstance, //程序实例句柄 0); //附加数据 |
2.设置最小值和最大值(SBM_SETRANGE)
|
SendMessage(hScrollBar, SBM_SETRANGE, 0, 100); wParam: 为最小值 lParam: 为最大值 |
3.设置滑块的位置(SBM_SETPOS)
SendMessage(hScrollBar, SBM_SETPOS, 1, TRUE);
wParam: 为要设定的位置
lParam: TRUE为是否刷新窗口,FALSE为不刷新
4.获得滑块当前位置(SBM_GETPOS)
int pos = SendMessage(hCtrl, SBM_GETPOS, 0, 0);
5.通知消息
水平通知消息(WM_HSCROLL)
垂直通知消息(WM_VSCROLL)
水平通知消息示例:
|
LRESULT MyDialog::OnhScroll(WPARAM wParam, LPARAM lParam) { int nSbCode = LOWORD(wParam); //获得控件通知消息码 HWND hCtrl = (HWND)lParam; //控件句柄 /*WORD lPos = HIWORD(wParam);*/只有拖动滑块时才有滑块当前位置信息 int pos = SendMessage(hCtrl, SBM_GETPOS, 0, 0); //获得当前滑块位置 switch (nSbCode) { case SB_LINELEFT: //点击左边按钮消息 pos-=5; break; case SB_LINERIGHT: //点击右边按钮消息 pos+=5; break; case SB_PAGELEFT: //点击滑块左边滚动条空白翻页消息 pos -= 20; break; case SB_PAGERIGHT: //点击滑块右边空白处为翻页消息 pos += 20; break; /*case SB_THUMBTRACK: //拖动滑块时消息 SendMessage(hCtrl, SBM_SETPOS, lPos, 1); return true;*/ case SB_THUMBPOSITION: //拖动滑块放开消息 pos = HIWORD(wParam); break; } SendMessage(hCtrl, SBM_SETPOS, pos, 1); //设置当前位置=pos,并重绘控件 CString str; str.Format(TEXT("%d"), pos); SetDlgItemText(IDC_STATIC1, str); return LRESULT(); } |
Win32 滚动条控件的更多相关文章
- MFC编程入门之二十六(常用控件:滚动条控件ScrollBar)
回顾上一节,讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合 ...
- 自己开发基于c#的垂直滚动条控件
由于Visual Studio工具箱中自带滚动条控件外观太老,而且没有颜色外观属性可设置. 所以自己就试着开发一个垂直的滚动条,它可以用来控制TextBox的滚动. 由于代码比较多,源文件已经打包到网 ...
- VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
回顾上一节,鸡啄米讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框 ...
- VS2010-MFC(常用控件:滚动条控件Scroll Bar)
转自:http://www.jizhuomi.com/software/191.html 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合框设置了相应属性 ...
- javascript控件开发之滚动条控件
首先,基于行前几篇开发的的框架,我们在目录 component\ui\下添加文件 com.ui.scrollBar.js, 在文件中定义com.ui.scrollBar类,继承com.ui.windo ...
- PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)
1.树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from Py ...
- win32创建控件的一些问题
在我们使用CreateWindow();像一般控件建Windows扩展控件的时候我们会发现控件没有创建成功 这是因为我们没有对Windows扩展控件库进行初始化,这要我们使用InitCommonCon ...
- tkinter中text文本与scroll滚动条控件(五)
text与scroll控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("30 ...
- 【转】Win32 创建控件风格不是Win XP解决方案
有时候我有在用Win32 API来向窗体上添加控件时,通过CreateWindow或CreateWindowEx创建出来的控件的风格不像XP风格,而是像Windows 2000的风格,界面很难看.注意 ...
- win32通用控件
1.标准控件 可以在win32窗口程序中添加资源脚本来给程序添加标准控件: 具体操作为:新建资源脚本 ->在.rc文件中添加控件 ->给控件绑定事件: 常用的标准控件: ...
随机推荐
- C++获取商店应用(msix应用)桌面快捷方式的安装目录
传统应用的快捷方式目标指向可执行文件的路径,但是对于商店应用(也叫msix打包应用),则指向一个奇怪的字符串,使用IShellLink::GetPath获取路径时,则得到的是空字符串,而我们的最终目的 ...
- ODPS 不用循环生成连续日期
生成 20230801 ~ 20230831之间的每一天的sql代码怎么写? 只要一行代码. 一行代码: select TO_CHAR(DATEADD(TO_DATE(bizdate,'yyyymmd ...
- SpringBoot动态数据源配置
SpringBoot动态数据源配置 序:数据源动态切换流程图如下: 1:pom.xml文件依赖声明 <dependency> <groupId>org.springfram ...
- 在KEIL中用JTAG仿真出错:error:cannot load driver".....JL2CM3.dll" 时的解决方法
在KEIL中用JTAG仿真出错:error:cannot load driver".....JL2CM3.dll" 时的解决方法 报错: Error:Cannot load dri ...
- MyBase 7.1 可用的 Markdown 配置表
背景 找到了一款Markdown 笔记本软件MyBase,7.1版本支持markdown,所以我非常喜欢,修改了自己博客的css到软件里面,瞬间变得好看了. 效果图 设置方法 "工具 - 编 ...
- 国产自主架构!龙芯2K1000LA工业核心板正式发布!
国产自主架构!龙芯2K1000LA工业核心板正式发布! 原创 Tronlong创龙科技 Tronlong创龙科技 2024-06-13 07:50 广东 Tronlong创龙科技 ,赞18 (点击视频 ...
- MySQL - CASE WHEN的高级用法
Case语法 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN E ...
- awk脚本结合shell使用
需求:判断hadoop用户是否存在**************************************************#!/bin/bashresult=`awk -F ": ...
- Java 中的泛型 集合(List,Set) Map
泛型 集合(List,Set) Map 泛型 泛型的本质是参数化类型,即允许在编译时对集合进行类型检查,从而避免安全问题,提高代码的复用性 泛型的具体定义与作用 定义:泛型是一种在编译阶段进行类型检查 ...
- P1754
球迷购票问题 题意描述 盛况空前的足球赛即将举行.球赛门票售票处排起了球迷购票长龙. 按售票处规定,每位购票者限购一张门票,且每张票售价为50元.在排成长龙的球迷中有N个人手持面值50元的钱币,另有N ...