zoukankan      html  css  js  c++  java
  • paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片

    paip.在C++ Builder 中为Form窗体添加背景图片


    作者Attilax ,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax


    Form窗体添加背景图片,一般好几种方法:
    1.设置法.但是有些gui库没有提供.
    2.image法,不个image放的个最底下.
    3.窗体paint事件.重绘.


    vcl好像没设置窗体背景,只好paint,三,按道理是paint可以做了.实际上只能使用image实现了,,XPSP3..   BCB2009




    ////////////////////////////////image组件方法.
    在窗体上添加一image组件,设置image组件的Align属性为alClient即可,编程贵在灵活,就怕想不到,没有办不到的.


    作者:xt1976 回复日期:2002-12-31 2:33:07
    再补充一句,设置image组件的Picture属性为你想要的背景图象,Stretch属性设为true,让图片充满整个image组件就可以了.






    ////////////////////////////////////FormPaint方法.
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Image1->Picture->LoadFromFile(".\face.bmp");
    Width=Image1->Width;
    Height=Image1->Height;
    Repaint();
    }


    或者
    在formpaint里自己画,想画什么画什么,比如下面的是画纯色的
    void __fastcall TForm1::FormPaint(TObject *Sender)
    {


        //从资源中加载BMP图片显示
        Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
        pBitmap->Handle = LoadBitmap(HInstance, "BMP");
        Canvas->Draw(0, 0, pBitmap);
        delete pBitmap;


     


        //从文件中加载JPEG图片显示 ,加入头文件#include <jpeg.hpp>  


        TJPEGImage *pJPEG = new TJPEGImage;
        pJPEG->LoadFromFile("d://moon.jpeg");
        Canvas->Draw(300, 0, pJPEG);
    }




    或者
    要事不显示,问题已经解决,原来不是程序的问题,而是图片大小超过了窗口的大小。。。。


    但是碰到了另外一个问题。。由于上述代码是放在void __fastcall TFmMain::FormPaint(TObject *Sender)里的,现在在窗体里加入一个Panel, Panel里面也会放一张这样的背景图,请问各位大侠有没有办法取消Panel里显示背景图啊。。。。
     std::auto_ptr<Graphics::TBitmap> BrushBmp(new Graphics::TBitmap);


        BrushBmp->LoadFromFile("bg.bmp");


        Canvas->Brush->Bitmap = BrushBmp.get();


        Canvas->FillRect(Rect(0, 0, _width, _height));


        Canvas->Brush->Bitmap = NULL;
        
        
    参考:
    C++Builder中不规则窗体的快速显示_ChinaUnxi SQL Server频道-SQL Serv数据库.htm
    BCB中显示图片BMP和JPEG - 上善若水 - 博客频道 - CSDN.NET.htm
    窗口笔刷不起作用 - CSDN论坛 - CSDN.NET.htm

  • 相关阅读:
    大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之
    Codeforces 385C Bear and Prime Numbers
    CSU1659: Graph Center(最短路)
    新版ADT出现appcompat_v7的问题
    @IBDesignable和@IBInspectable
    FTP命令详解
    R语言屏幕输出
    R语言常用基础知识(入门)
    R语言数据类型转换
    使用建议(内部使用)
  • 原文地址:https://www.cnblogs.com/phisy/p/3371960.html
Copyright © 2011-2022 走看看