我们仍然以继承于wxFrame的MyFrame作为例子。

MyFrame.h:

class MyFrame : public wxFrame
{
......
private:
......
void OnPaint(wxPaintEvent &event);
};

MyFrame.cpp

MyFrame :: MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame(NULL, wxID_ANY, title, pos, size)
{
// 设置窗口默认背景色
SetBackgroundColour(*wxWHITE);
// Bind paint event
Bind(wxEVT_PAINT, &MyFrame::OnPaint, this);
} // paint event handler
void MyFrame :: OnPaint(wxPaintEvent &event)
{
wxPaintDC dc(this);
dc.SetTextBackground(*wxRED);
dc.SetTextForeground(*wxYELLOW);
dc.SetBackgroundMode(wxSOLID);
dc.DrawText(L"Exercise 1", , );
}

上面的代码中,绘图前将文字背景模式设置为wxSOLID,否则无法正确显示出文字背景色。

另外,在MyFrame的构造函数中将窗口背景设置为白色。在Paint前,Windows将会用该颜色填充无效区域。

wxWidgets:处理wxEVT_PAINT的更多相关文章

  1. [ZETCODE]wxWidgets教程八:组件专题1

    本教程原文链接:http://zetcode.com/gui/wxwidgets/widgets/ 翻译:瓶哥 日期:2013年12月12日星期四 邮箱:414236069@qq.com 主页:htt ...

  2. wxWidgets

    wxWidgets Code::Blocks环境 Code::Blocks下载: Code::Blocks使用: codeblocks-16.01mingw-setup.exe 它的gcc版本为4.9 ...

  3. 基于libvlc和wxWidgets的简单播放器代码阅读

    源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...

  4. [zhuan] linux 下 wxWidgets 安装,编译

      http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...

  5. [wxWidgets] 2. 重访“Hello World” 程序

    这是四年多来在博客园的第二篇博客.有了上一次的排版使用经验,这一篇文章应该有些进步(^_^). 闲话按下不表,言归正传.在编译.成功运行了上一个helloWorld.cpp(后文中'hw'简称hell ...

  6. [wxWidgets] 1. 安装及"hello world"程序

    关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1.  安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...

  7. wxWidgets编译安装gtk问题的解决办法

    下面是google到的一篇博文.我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了.只好又去下了wxWidgets,还是源码,需要编译.编译中出现和下面这位网友一 ...

  8. VS2013搭建wxWidgets开发环境

    一.安装 前往官网下载最新wxWidgets 3.0.0. https://sourceforge.net/projects/wxwindows/files/3.0.0/wxMSW-3.0.0-Set ...

  9. 在 wxWidgets 的介绍中看到的一句话

    3. wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使用目标系统native的gui样式. ——你可以访问wxwidgets网站,看看那些开发的软件的截图,全是系统native ...

随机推荐

  1. hadoop redis install (4)

    reference: http://dblab.xmu.edu.cn/blog/131/    https://github.com/dmajkic/redis   https://blog.csdn ...

  2. learning shell script prompt to run with superuser privileges (4)

    Shell script prompt to run with superuser privileges [Purpose]        Check whether have root privil ...

  3. mysql添加伪劣及查看表信息

    SELECT @rownum:=@rownum+1 AS rownum, table_name.* FROM (SELECT @rownum:=0) r, table_name     select ...

  4. jenkins+git+docker实验环境的搭建

    持续集成(c/i)的实验环境 git/harbor服务器    ip 192.168.200.132 docker服务器          ip 192.168.200.149 Jenkins服务器 ...

  5. mybatis 传递多个值的解决办法

    参考链接:http://www.2cto.com/database/201409/338155.html. 其中三种方案是正确的,有些例子的细节是错的,但是无关紧要

  6. Python decode和encody

    s = "我今天非常的困" bs = s.encode("utf-8")# 把字符串转化成utf-8格式bytes # bytes 不是给人看的, 给机器用的 ...

  7. HDU 5178:pairs(二分,lower_bound和upper_bound)

    pairs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. LG4768 [NOI2018]归程

    题意 题目背景 本题因为一些原因只能评测16组数据. 剩下的四组数据:https://www.luogu.org/problemnew/show/U31655 题目描述 本题的故事发生在魔力之都,在这 ...

  9. LG3898 [湖南集训]大新闻

    题意 题目描述 **记者弄了个大新闻,这个新闻是一个在 [0,n) 内等概率随机选择的整数,记其为 x.为了尽可能消除这个大新闻对公众造成的不良印象,我们需要在 [0,n)内找到某一个整数 y,使得 ...

  10. HDU3584 Cube

    分析 三维树状数组,跟二维的差不多,只不过容斥的不一样. 更新区间\((x_1,y_1,z_1)\rightarrow(x_2,y_2,z_2)\)时,需要利用容斥原理.须要更新的节点更新如下: \[ ...