您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > BCB > 正文
用C++ Builder实现桌布自动更新
[文章信息]
作者:ZQGet
时间:2004-05-27
出处:论坛
责任编辑:方舟
[文章导读]
在C++ Builder中要实现桌布的自动更换功能,我认为主要两个关键点,其一既然要“自动”那就免不了要用到定时器
advertisement
热点推荐
· 天极网软件频道改版调查
· 25软件精选 Excel分页汇总
· 提升Win XP性能的20个特殊技巧
· 图解JBuilderX安装与实践
· Fireworks国画:葡萄小鸡图
[正文]

上一页  1 2  


  JPEG格式转换为位图:

#include <jpeg.hpp>

bool __fastcall TForm1::JPEGToBMP(AnsiString jpegFile,AnsiString bmpFile)
{
 //TODO: Add your source code here

 TJPEGImage *jpeg = new TJPEGImage();
 jpeg->LoadFromFile(jpegFile);
 Graphics::TBitmap *bitmap = new Graphics::TBitmap();
 try {
  bitmap->Assign(jpeg);
  bitmap->SaveToFile(bmpFile);
 }
__finally {
 delete jpeg;
 delete bitmap;
}
return true;
}

  遗憾的是BCB不直接支持如PNG,GIF等格式与位图的转换,希望在BCB6.0以后的版本中会得到支持.如果要进行PNG,GIF格式的转换,我们可以去寻求控件,这是最简单的办法,还有一种就是自己编写图形格式转换的程序,这个比较困难.首先要知道各种图形格式的标准,然后编写格式转换的算法,这是最重要的,最后进行编码.还有一点我也想说一下,如果你足够细心的话,可能已经发现了我在实现Timer1Timer(TObject *Sender)这个函数的时候用到了一个RebuildIconCache()函数,注释说是重建系统缓存,其实是这样的当你改变了桌布的时候,可能系统来不及重新绘制桌布,这时你需要手动地按下F5来进行刷新,但我们的程序总不能去叫用户刷新吧,所以我增加了一个RebuildIconCache()函数来完成此功能,它是这样实现的。

void __fastcall TForm1::RebuildIconCache()
{
 //TODO: Add your source code here

 int IconW;
 IconW= GetSystemMetrics(SM_CXICON);
 TRegIniFile *Reg = new TRegIniFile("Control Panel\\Desktop");
 try
 {
  Reg->WriteString("WindowMetrics", "Shell Icon Size", IntToStr(IconW));
  SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
 }
 __finally
 {
  delete Reg;
 }
}

  这样只要你改变了桌布设置,再广播WM_SETTINGCHANGE窗口消息,系统就会进行桌布的重新绘制。

  提示:如果你想自己体会一下这个程序的功能,你不必通过键盘的输入来达到目的,http://www.zccfamily.com/zqget/ 提供了这个程序的所有源代码,你可以去下载来看一下实际的效果。


上一页  1 2  

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • C++Builder注册表编程实例详解
  • 用C++ Builder开发多层数据库应用程序
  • C++ Builder中消息处理过程及应用
  • 用C++ Builder创建数字签名
  • 计算机短信DIY
  • 在C++ Builder中用Ole控制Excel表
  • 利用C++ Builder 设计实现文件切割机
  • 用C++Builder实现Windows 2000的Messenger
  • 在 C++ Builder中利用串行通信控件编程
  • C++Builder中集合的处理
  • C++ Builder文件任意分割传输技术
  • 盘符混乱咋办 拨乱反正有巧招
  • MotherBoard Monitor入门篇
  • MotherBoard Monitor进阶篇
  • 如何买到一部称心的品牌电脑
  • 关注!国内首款GeForce 6200显卡曝光
  • 《魔兽世界》角色扮演游戏壁纸
  • 天极缉拿假IE4.0为首的仿冒鼠
  • 《魔兽世界》Q版人物头像集
  • Advertisement