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
的实现。见:
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的滑动条改成带刻度的?的主要内容,如果未能解决你的问题,请参考以下文章