paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片
来源:互联网 发布:js中怎么给图片设边框 编辑:程序博客网 时间:2024/05/18 01:02
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
作者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
- paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片
- Paip.提升用户体验------在C++ Builder 不规则图片按钮实现总结
- Form窗体添加背景图片
- c++builder为按钮添加背景图片
- paip.提升用户体验---提取FLASH中图片
- paip.提升用户体验-----用户注册设计
- paip.提升用户体验---c++ 悬浮窗体以及右键菜单以及socket接口
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制
- paip.提升用户体验之全角半角
- paip.提升用户体验---导入导出
- paip.提升用户体验---文件查找
- paip.提升用户体验---提示语
- paip.提升用户体验---注册异常记录
- paip.提升用户体验---搜索功能设计
- paip.提升用户体验----置顶菜单
- paip.提升用户体验---程序异常处理
- paip.c#.net自定义图像窗体form
- java将文件夹中的多个文件(包含子文件夹)压缩成zip文件
- 设置picturebox的Image属性为网络图片
- 可剥夺与不可剥夺内核区别
- C中的预编译宏定义
- 路由器联网方式
- paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片
- Java Web自定义标签tld文件的简单使用
- CCCamera 摄像机 详解
- [每日一题] 11gOCP 1z0-053 :2013-10-14 普通文件损的最佳恢复步骤.................................54
- 第七课 列表和可变性、字典、效率简介
- 国内HTML5前端开发框架汇总
- nyoj 128 前缀式计算 模拟水题 回溯
- 判括号匹配(顺序栈)
- DR校正原理概述