zoukankan      html  css  js  c++  java
  • 窗体背景的绘制(Windows窗体每次都会重绘其窗体背景,所以我们可以通过拦截窗体重绘背景的消息(WM_ERASEBKGND),并自定义方法来实现重绘窗体背景)

    核心思想:由于Windows窗体每次都会重绘其窗体背景,所以我们可以通过拦截窗体重绘背景的消息(WM_ERASEBKGND),并自定义方法来实现重绘窗体背景。通过TImage组件也可以实现,但是重写WM_ERASEBKGND消息的效率更高一些,所以还是推荐使用这种方法。

    (2)声明重绘背景消息响应函数

    void fastcall OnWMEraseBkgnd(TWMEraseBkgnd& Msg); 


    (3)添加消息映射

    BEGIN_MESSAGE_MAP
    //拦截重画背景的事件
    MESSAGE_HANDLER(WM_ERASEBKGND,TWMEraseBkgnd,OnWMEraseBkgnd); 
    END_MESSAGE_MAP(TForm);


    (4)编写自绘背景消息响应函数的代码

    复制代码
    void fastcall TFormMain::OnWMEraseBkgnd(TWMEraseBkgnd& Msg)
    {
        //重画背景
        TCanvas* canvas = new TCanvas;
        canvas->Handle = Msg.DC;
        int cx = ClientWidth/bmpFormBK->Width + 1;
        int cy = ClientHeight/bmpFormBK->Height + 1;
        for (int i=0; i<cy; i++)
        for (int j=0; j<cx; j++)
        {
            canvas->Draw(j*bmpFormBK->Width, i*bmpFormBK->Height,bmpFormBK); Msg.Result = true;
        }
        delete canvas;
    }

    http://www.cnblogs.com/songsu/articles/1336653.html

  • 相关阅读:
    JS——jquery UI
    js——正则表达式
    jsonp——使用公共接口获取数据
    JS——json、ajax、jsonp
    [HNOI2011]括号修复 / [JSOI2011]括号序列
    [HNOI 2016] 树
    luogu_P3313 [SDOI2014]旅行
    无旋Treap模板
    [CF 718C] Sasha and Array
    [洛谷 P4556] 雨天的尾巴
  • 原文地址:https://www.cnblogs.com/findumars/p/8447818.html
Copyright © 2011-2022 走看看