2024年3月29日发(作者:)
MFC Button控件自绘制----详细讲解
VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近
再次看了学了一遍终于明白了一点
与大家分享下... 需要源代码的Q我 寻找一起学VC的朋友
比如说
我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进
行修改但是对与 Button控件就不行了 ..
这时候我们要进行自绘制 相关函数 virtual void
DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
要覆盖掉这个虚函数 并且类型要设置为 BS_OWNERDRAW 这时候 放 应用程序
进行初始化界面的时候 会进入我们的
DrawItem函数 进行控件的绘制 所以说 自绘制 就2个步骤
ASSERT 宏
Evaluate an expression and generate a debug report when the result is FALSE
(debug version only).
计算表达是当结果是false的时候生成调试报告 (仅仅在debug下 )
1. 类型要设置为 BS_OWNERDRAW
2.重写 virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );函
数 代码就我们自己设计了
重绘需要的函数 注意 都是SDK中的函数
BOOL DrawFrameControl( //这个函数画一个指定类型控件的框架
HDC hdc, // handle to device context DC
LPRECT lprc, // bounding rectangle 举行区域
UINT uType, // frame-control type 类型
UINT uState // frame-control state 状态 具体看MSDN
);
int DrawText( //在指定的矩形区域 输出文本
HDC hDC, // handle to DC
LPCTSTR lpString, // text to draw


发布评论