Slider Control 控件自绘采用OnPaint方法进行自绘,自绘方式包括控件进度条自绘和控件把手自绘。
继承类redraw_slider.h头文件
#pragma once
#include "afxcmn.h"
class redraw_slider : public CSliderCtrl
{
public:
redraw_slider();
virtual ~redraw_slider() { delete_gdi_objs(); }
afx_msg void OnPaint();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
DECLARE_MESSAGE_MAP()
public:
void set_bk_color(COLORREF bk) { m_dlg_bk_color = bk; }
void set_thumb_rate(float rate) { m_thumb_rate = rate; }
void set_thumb_colors(COLORREF out, COLORREF in, COLORREF highlight) { m_thumb_color = out; m_thumb_on_color = in; m_thumb_color = highlight; init_gdi_objs(); }
void set_channel_colors(COLORREF bk, COLORREF left) { m_channel_bk_color = bk; m_channel_left_color = left;

这篇博客介绍了如何使用C++ MFC库创建一个自定义的滑块控件`redraw_slider`,该控件通过覆盖`OnPaint`方法实现自绘,包括进度条和把手的绘制。控件支持设置背景颜色、滑块颜色、进度条颜色等属性,并处理鼠标点击和移动事件来改变滑块状态。
最低0.47元/天 解锁文章
1869

被折叠的 条评论
为什么被折叠?



