山寨个桌面属性
1、如何才能用combobox实现图像的拉伸、居中、平铺
2、combobox变成选颜色的样子。。参见   属性--桌面---颜色
江湖救急999

解决方案 »

  1.   

    1.你是要修改桌面图片?还是自己程序中的图片?
    2.可以使用第三方控件RzColorEdit
      

  2.   

    干吗呢,image基本可以实现你的功能,只需要设置不同的几个属性即可
      

  3.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      reg:TRegistry;
      i:Integer;
    begin
      i:=self.ComboBox1.ItemIndex;
      if i=-1 then
        Exit;
      Reg:=Tregistry.Create;{创建Tregistry对象的实例}
      Reg.Rootkey:= Hkey_Current_User;{设置根键名称}
      Reg.OpenKey('Control Panel\Desktop',False);
      if i=0 then//居中
      begin
      Reg.WriteString ('TileWallPaper',IntToStr(i));
      reg.WriteString('WallpaperStyle',IntToStr(i));
      end;
      if i=1 then//平铺
      begin
      Reg.WriteString ('TileWallPaper',IntToStr(i));
      reg.WriteString('WallpaperStyle',IntToStr(i));
      end;
      if i=2 then//拉伸
      begin
      Reg.WriteString ('TileWallPaper','0');
      reg.WriteString('WallpaperStyle','2');
      end;
      Systemparametersinfo(SPI_SETDESKWallpaper,0,Nil,SPIF_SendChange);{向Windows发送消息,通知Windows更换壁纸}
      Reg.CloseKey;{将更改内容写入注册表并关闭}
      Reg.Free;{释放对象}
    end;
      

  4.   


    1、我是修改桌面图片。。我照着Xp的做了一个。主要是Image。。的属性不会设置。2、RzColorEdit为何物,我百度一下没发现我是这么写的,效果太失败了。。
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
    if combobox1.Text='平铺' then
    begin
    image2.Center:=true;
    image2.stretch:=false;
    image2.Proportional:=false;
    end;
    if combobox1.Text='居中' then
    begin
    image2.Center:=false;
    image2.stretch:=false;
    image2.Proportional:=true;
    end;
    if combobox1.Text='拉伸' then
    begin
    image2.Center:=false;
    image2.stretch:=true;
    image2.Proportional:=false;
    end;
    end;