首页 > 编程 > C++ > 正文

用C++ Builder编写自已的IE SKIN

2019-09-06 23:33:41
字体:
来源:转载
供稿:网友

                       时下软件换肤热潮兴起,大家是不是想装点一下自已的IE呢?当然网上也有不少为IE换肤的软件,用够了IE SKIN和其它为IE换肤的朋友,有没有想过也编制一个自己的IE SKIN呢?     实际上,对IE进行换肤只不过是在注册表的“HKEY_CURRENT_USERSoftwareMicrosoftInternet E
xplorerToolbar”下新建两个字符串子键“BackBitmap”和“BackBitmapIE5”,用来指定IE的背景图片路径。

好了下面跟我来。
   在C++ Builder中新建一Application,将其Caption属性设为“我的IE SKIN”,在其上新建一Panel 控件,将Panel1的Caption属性改为空,Align属性设为“alTop”。在Panel1上新建一Label控件,将Label1的Caption属性改为“路径:”。再在Panel1上新建一Edit控件,将Edit1的name属性改为“URL”(没有引号),将其Text属性改为空。再在Panel1上新建一OpenDialog控件,将OpenDialog1的Filter属性设为“Bitmap|*.bmp”。再在Panel1上新建一Button控件,将Button1的Caption改为“浏览...”。再在Panel1上新建一Button控件,将Button2的Caption改为“修改IE外壳”。在Form1上(Panel1之外)新建一ScrollBox控件,将其Align属性设为“alClient”,在ScrollBox1上新建一Image控件,将其AutoSize属性设为“true”。好了界面部分完成了,下面该写代码了!

   我们建立Image控件的目地是要实时预览图像,所以为URL(EDIT)的OnChange事件写如下代码:
   void __fastcall TForm1::URLChange(TObject *Sender)
   {
Image1->Picture->LoadFromFile(URL->Text); //预览图形文件
   }
   这样只要URL中的路径一发生改变Image就会将改动后的图象显示出来!
   下面我们来完成“浏览...”按钮的功能,双击“浏览...”按钮为其单击事件编写如下代码:
   if (OpenDialog1->Execute())
   {
      URL->Text=OpenDialog->FileName;//将文件名填入URL编辑框
      Image1->Picture->LoadFromFile(URL->Text);//预览图形文件
   }
   下面是最重要的部分,双击“修改IE外壳”按钮,为其单击事件编写代码:
   void __fastcall TForm1::Button1Click(TObject *Sender)
   {
     if (strlen(url->Text.c_str())>=5) //主文件名+.+BMP不可能小于5个字符
     {
/tTRegistry ®key=*new TRegistry();//新建一注册表类

/tregkey.OpenKey("Software/Microsoft/Internet Explorer/Toolbar",true);//打开要新建或要修改的键名
/tregkey.WriteString("BackBitmap",url->Text.c_str());//修改
/tregkey.WriteString("BackBitmapIE5",url->Text.c_str());
/tregkey.CloseKey();//关闭所有打开的注册表键名

/tdelete ®key;//删除注册表类
     }
     else
     {
/tApplication->MessageBox("BMP图象路径不可能少于5个字符","错误",MB_OK);
     }
   }
   好了,至此整个程序写完了,保存,编译,运行,怎么样?没效果?!重新启动你的IE看一看,有效果了吧!
   有什么问题欢迎来信交流。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选