菜鸟捉虫(39)
?牐牳贸绦虻敝写嬖谌龃砦?:第一,没有加入stdctrls单元,根本无法创建Button控件;第二,没有指定所创建的按钮要显示的地方,即没有指定要容纳所创建控件的容器,因此无法显示出按钮来,只要在创建循环中加入“vBtn[i].ParentWindow:=Handle;”即可显示;第三,在判断哪个按钮被单击时的语句中,不能使用“:=”,这是赋值符号,不能用作比较,应该使用“=”符号。
?牐牷窠泵?:
?牐犜颇? 向 彬 辽宁 陈晓渝 四川 周 杰
?牐牥不? 胡永进 北京 曾 成
?牐犚陨闲以硕琳呓竦玫缒员ㄗ钚鲁銎返摹兜缒员ㄏ盗信涮坠馀獭吩又疽惶住?
#1?牐牨酒谔饽?:
?牐燡PG是一种应用很广泛的压缩图像文件格式,如果我们想把JPG文件设置为墙纸,首先得要转换成BMP格式才行。下面这代码就是用于将JPG转换成BMP,然后再设置为墙纸,但它有错误,请找出。
?牐爑ses
?牐?... Registry ...;
?牐?...
?牐爌rivate
?牐爁unction ChangeWallPaper(PaperName:String):Boolean;??
?牐?...
?牐爄mplementation
?牐爗$R *.DFM}
?牐爁unction TForm1.ChangeWallPaper(PaperName:String):Boolean;
?牐爒ar
?牐爓all:TRegistry;
?牐爓allbmp:TBitMap;
?牐燱allJpg:TJpegImage;
?牐燽egin
?牐燱allJpg:=TJpegImage.Create;
?牐燱allJpg.LoadFromFile(PaperName);
?牐燱allBmp:=TBitmap.Create;
?牐燱allBmp.Assign(WallJpg);
?牐燱allBmp.SaveToFile('c:\windows\mypaper.bmp');
?牐燱allbmp.Free;??
?牐燱allJpg.Free;??
?牐燱all:=TRegistry.Create;
?牐燱all.RootKey:=hkey_current_user;
?牐燱all.OpenKey('Control Panel\Desktop',false);?牔?
?牐燱all.WriteString('TitleWallPaper','0');
?牐燱all.WriteString('WallPaper','c:\windows\mypaper.bmp');?牔?
?牐燱all.CloseKey;
?牐燱all.Free;
?牐燬ystemParametersinfo(spi_setdeskwallpaper,0,nil,spif_sendchange);
?牐爀nd;
?牐爌rocedure TForm1.Button1Click(Sender:TObject);
?牐燽egin
?牐營F ChangeWallPaper('C:\mypaper.jpg')THEN Showmessage('墙纸更换成功!');
?牐爀nd;