VS上如何将MFC的滑动条改成带刻度的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS上如何将MFC的滑动条改成带刻度的?相关的知识,希望对你有一定的参考价值。

参考技术A 1:设置滑动条的属性,将Point设置为Bottom/Right,将Tick marks设置为True;2:将你的滑动条关联一个变量,这里为m_slider,然后在对话框的OnInitDialog()函数中添加下面的代码m_slider.SetRange(0,100);\\x0d\\x0a for (int jj=10; jj<= 90;)\\x0d\\x0a \\x0d\\x0a m_slider.SetTic(jj);\\x0d\\x0a jj+=10;\\x0d\\x0a

如何在 C++ ATL/MFC 中检索具有相同格式的刻度,如 DateTime.Ticks

【中文标题】如何在 C++ ATL/MFC 中检索具有相同格式的刻度,如 DateTime.Ticks【英文标题】:How retrieve ticks with same format like DateTime.Ticks in C++ ATL/MFC 【发布时间】:2012-05-10 23:05:27 【问题描述】:

是否可以获得与DateTime.Ticks .NET 对象相同格式的刻度数,以 100ns 为单位,在 C++ ATL 或 MFC 中?

【问题讨论】:

将 0x701ce1722770000L 添加到 FILETIME 以将偏差从 1600 年更改为 0 年。 【参考方案1】:

DateTime.Ticks 对定时器分辨率没有任何影响,因此不能保证定时器精度为 100ns。在 C++ 中,您可以使用类似的值:

ULONGLONG nTicks = GetTickCount() * 10000i64;

如果您需要更准确的计时器,请查找基于 QueryPerformanceCounter 的实现。见:

How to use QueryPerformanceCounter? Fastest timing resolution system Can someone decipher whether timeGetTime() or QueryPerformanceCounter/QueryPerformanceFrequency has lower overhead or/and accuracy?

UPD。至于与 .NET Ticks 属性的对齐方式,请参阅上面 Hans 的评论 - 从 GetFileTime API 的结果中转换/计算的值也采用相同的 100 ns 单位,并由固定常数抵消 Ticks 属性.

【讨论】:

根据 MSDN GetTickCount() 返回系统启动后的滴答计数。自 '01/01/0001 00:00:00' 以来有能力得到滴答声,就像在 .NET 中一样? GetSystemTimeAsFileTime msdn.microsoft.com/en-us/library/windows/desktop/… 让您在FILETIME 结构中获得时间,然后将其值添加到单个 64 位整数中,添加硬编码常量(见上文),这就是您所需要的。

以上是关于VS上如何将MFC的滑动条改成带刻度的?的主要内容,如果未能解决你的问题,请参考以下文章

关于MFC中Slider(滑动)控件的使用

MFC slider可以设置为(0,1)范围吗?对应的text可以显示带%的数字吗?

JavaScript吉光片羽--- 滑动条

c++,mfc滑动块SLIDER不能滑动到0值

带滚动条的div如何实现内容滑动,新手不懂,求高手支招

自定义view-滑动进度条