CWnd::OnEraseBkgnd

afx_msg BOOL OnEraseBkgnd( CDC* pDC );

返回值:

如果它擦除了背景,则返回非零值;否则返回0。

参数:

pDC 指定了设备环境对象。

说明:

当CWnd对象的背景需要被擦除时(例如,当窗口大小被改变时),框架就调用这个函数。它被调用以便为绘图准备无效区域。

缺省的实现使用窗口类结构中hbrBackground成员指定的窗口类背景刷子擦除窗口背景。

如果hbrBackground成员为NULL,你重载的OnEraseBkgnd必须擦除背景色。你的重载函数也可以为刷子调用UnrealizeObject函数,将目标刷子的原点与CWnd的坐标对齐,然后选择该刷子。

如果重载的OnEraseBkgnd在响应WM_ERASEBKGND时处理了这个消息并擦除了背景,则应当返回非零值,表明不需要进一步擦除。如果它返回0,则窗口依然被标记为需要擦除(通常,这意味着AINTSTRUCT结构的fErase成员将为TRUE)。

Windows假定背景是用MM_TEXT映射模式计算的。如果设备环境使用了其它映射模式,则擦除的区域可能不在客户区的可见部分之内。

注意:

框架调用这个成员函数以允许你的应用程序处理一个Windows消息。

传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。

如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

MFC函数——CWnd::OnEraseBkgnd的更多相关文章

  1. MFC函数—— CWnd::PreCreateWindow

     CWnd::PreCreateWindow virtual BOOL PreCreateWindow( CREATESTRUCT& cs ); 返回值: 如果要继续窗口的创建过程,则返回非零 ...

  2. MFC函数——CWnd::OnCreate

    CWnd::OnCreate afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct ); 返回值: OnCreate必须返回0以继续CWnd对象的创建 ...

  3. MFC函数之BitBlt

    MFC函数之BitBlt // Cgame123View 绘制 void Cgame123View::OnDraw(CDC* pDC) { Cgame123Doc* pDoc = GetDocumen ...

  4. 破解 Rith's CrackMe #1(对比IDA查看动态分析中的MFC函数名)

    系统 : Windows xp 程序 : Rith's CrackMe #1 程序下载地址 :http://pan.baidu.com/s/1gecW9Qr 要求 : 注册机编写 使用工具 : IDA ...

  5. 常见MFC函数

    1.MFC常用函数:WinExec()ExitWindowsEx()GlobalMemoryStatus()GetSystemInfo()GetSystemDirectory()GetWindowsD ...

  6. MFC函数—SetRegistryKey

    前言:在用mfc框架编写应用的时候,如果注意,你会发现在App应用类的InitInstance()函数中,初始化时总有一个 SetRegistryKey("String");  这 ...

  7. MFC函数—— CFrameWnd::OnCreateClient

    CFrameWnd::OnCreateClient virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext*pContext); ...

  8. MFC函数—CSingleDocTemplate

    前提:在InitInstance() 函数的初始化过程中,我们可以看到代码CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDoc ...

  9. MFC函数—CWinApp::LoadStdProfileSettings

    从 InitInstance 成员函数内调用该函数,启用和加载最近使用的(MRU)文件和最后浏览状态的列表.void LoadStdProfileSettings(   UINT nMaxMRU = ...

随机推荐

  1. 持续集成(1)gitlab的安装

    操作系统:centos 6.5 关闭selinux # 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled ,然后重启电脑 # ...

  2. Oracle多表关联如何更新多个字段

    注意点:1.被update主表一定要加上过滤条件.2.查询出来更新结果集,同时也要作为被更新主表的条件,作为同步大家都是更新这部分数据.update student stu set (stu.name ...

  3. Android网络功能之会话发起协议SIP

    原文:http://android.eoe.cn/topic/android_sdk * 会话发起协议* Android提供了一个支持会话发起协议(SIP)的API,这可以让你添加基于SIP的网络电话 ...

  4. c# vs2010 excel 上传oracle数据

    excel 数据表上传到oracle数据库.过程例如以下: 1.打开本地excel文件 2.用OleDb连接excel文件 3.将来excel的数据读取到dataset中 4.把dataset 中数据 ...

  5. RecyclerView 与 ItemTouchHelper 实现拖拽效果

    截图 需求 App 开发新的需求,要求 RecyclerView 实现的九宫格样式可以拖拽,松手以后变更位置,类似于手机桌面拖动 app 变更位置. 分析 经过搜索,发现 support 中带有一个类 ...

  6. 在eclipse-oxygen-sts中,关于快捷键[CTRL + SHIFT + O]失效的问题

    这是sts的一个bug,没关系,重新设置接口 按照如图位置修改即可 下图截自于stackoverflow

  7. ImageView 最大bitmap 4096

    ImageView 最大bitmap 4096,超出不显示图片

  8. JDBC 事务和 JTA 事务

    Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于 ...

  9. 压力测试工具ab及centos下单独安装方法 nginx和tomcat静态资源的性能测试

    Apache安装包中自带的压力测试工具Apache Benchmark(简称ab)简单易用,这里采用ab作为压国测试工具. 独立安装: ab运行需要信赖apr-util包: # yum install ...

  10. 线程安全的无锁RingBuffer的实现【一个读线程,一个写线程】

    在程序设计中,我们有时会遇到这样的情况,一个线程将数据写到一个buffer中,另外一个线程从中读数据.所以这里就有多线程竞争的问题.通常的解决办法是对竞争资源加锁.但是,一般加锁的损耗较高.其实,对于 ...