【OnPaint() 函数中有一个Default()函数,这个函数放在这有什么作用?】

大树学长 2015-04-13 08:15:20
RT,自绘控件类中的
******:OnPaint()
{
Default();
···················
··········
}
...全文
169 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fronz 2015-04-13
  • 打赏
  • 举报
回复
其实有些程序员喜欢在编程架构时,预留一部分构造,而在后期不一定用上。 如果你不确定,那么可以尝试注释掉这部分代码看是否有影响。
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 9 楼 worldy 的回复:
你的代码哪来的,如果是MFC,那么在OnPaint中是没有缺省操作的
网上的一个自绘控件程序,这个是下载地址,免费的,绘制下拉组合框类的代码中 http://download.csdn.net/download/dingxz105090/7117303
worldy 2015-04-13
  • 打赏
  • 举报
回复
你的代码哪来的,如果是MFC,那么在OnPaint中是没有缺省操作的
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 6 楼 worldy 的回复:
设计者设计的缺省操作吧,不同人会不同的实现,具体要跟踪进去看代码
应该是系统函数一类的,找不到函数体。查找也只能找到几个调用这个函数的函数名。
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 5 楼 xiaohuh421 的回复:
如果没有源码, 那你肯定是看不到东西. 一般而言, 这是在绘制默认属性.
对,我查找过这个函数名,没用找到函数,应该是系统函数,但是网上没用查到这个函数是干什么的,
worldy 2015-04-13
  • 打赏
  • 举报
回复
设计者设计的缺省操作吧,不同人会不同的实现,具体要跟踪进去看代码
xiaohuh421 2015-04-13
  • 打赏
  • 举报
回复
如果没有源码, 那你肯定是看不到东西. 一般而言, 这是在绘制默认属性.
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 2 楼 wyx100 的回复:
单步跟进调试。。。。
跟不进去,调试模式下,直接跳过了,没用进入到这个函数中去。
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 1 楼 wxhxj0268 的回复:
步进跟踪进入函数看看。
跟不进去,调试模式下,直接跳过了,没用进入到这个函数中去。
wyx100 2015-04-13
  • 打赏
  • 举报
回复
单步跟进调试。。。。
笨笨仔 2015-04-13
  • 打赏
  • 举报
回复
步进跟踪进入函数看看。
Eleven 2015-04-13
  • 打赏
  • 举报
回复
参考MSDN文档说明~
schlafenhamster 2015-04-13
  • 打赏
  • 举报
回复
CWnd::Default LRESULT Default( ); Return Value Depends on the message sent. Remarks Calls the default window procedure. The default window procedure provides default processing for any window message that an application does not process. This member function ensures that every message is processed.
BrillianceRen 2015-04-13
  • 打赏
  • 举报
回复
我想你已经看到了 https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=ZH-CN&k=k(HisButton%2FCHisButton%3A%3ADefault);k(afxwin%2FCButton%3A%3ADefault);k(afxwin%2FCWnd%3A%3ADefault);k(CHisButton%3A%3ADefault);k(CButton%3A%3ADefault);k(CWnd%3A%3ADefault);k(Default);k(DevLang-C%2B%2B);k(TargetOS-Windows)&rd=true
BrillianceRen 2015-04-13
  • 打赏
  • 举报
回复
选中这个函数, 按F1试试
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 12 楼 xiaohuh421 的回复:
[quote=引用 10 楼 bigtree_mfc 的回复:] [quote=引用 9 楼 worldy 的回复:] 你的代码哪来的,如果是MFC,那么在OnPaint中是没有缺省操作的
网上的一个自绘控件程序,这个是下载地址,免费的,绘制下拉组合框类的代码中 http://download.csdn.net/download/dingxz105090/7117303[/quote] 选中Default() 按F12, 如果看不到定义, 那么说明你这个控件的实现在库中实现的. 那是看不到源码了. 标准的OnPaint是不会有这个函数, 这个default也不是windows的API或者MFC类库的函数. 肯定是这个自绘控件的函数. [/quote] F12以后的 // for handling default processing LRESULT Default(); virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam); 这个是封装好的一个窗口类函数,可惜不知道是什么功能,网上也查不到
大树学长 2015-04-13
  • 打赏
  • 举报
回复
引用 11 楼 fronz 的回复:
其实有些程序员喜欢在编程架构时,预留一部分构造,而在后期不一定用上。 如果你不确定,那么可以尝试注释掉这部分代码看是否有影响。
有影响,我这个函数是加在OnPaint函数中的,屏蔽掉以后的下拉组合框会一直闪烁
xiaohuh421 2015-04-13
  • 打赏
  • 举报
回复
引用 10 楼 bigtree_mfc 的回复:
[quote=引用 9 楼 worldy 的回复:] 你的代码哪来的,如果是MFC,那么在OnPaint中是没有缺省操作的
网上的一个自绘控件程序,这个是下载地址,免费的,绘制下拉组合框类的代码中 http://download.csdn.net/download/dingxz105090/7117303[/quote] 选中Default() 按F12, 如果看不到定义, 那么说明你这个控件的实现在库中实现的. 那是看不到源码了. 标准的OnPaint是不会有这个函数, 这个default也不是windows的API或者MFC类库的函数. 肯定是这个自绘控件的函数.

16,372

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧