本人今天把自已以前的一些delphi编程经验进行个小总结,总结完后突有一个这样的想法:如果我把这些总结发给网上的delphi朋友,而他们如果也有些自已的delphi编程小结,也发给我(如果愿意的话),这样大家的进步肯定是很快的。(1)按下ctrl和其它键之后发生一事件。procedureTForm1.FormKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);beginif(ssCtrlinShift)and(key=67)thenshowmessage('keydownCtrl+C');end;(2).Dbgrid中用Enter键代替Tab键.procedureTForm1.DBGrid1KeyPress(Sender:TObject;varKey:Char);beginifKey=#13thenifActiveControl=DBGrid1thenbeginTDBGrid(ActiveControl).SelectedIndex:=TDBGrid(ActiveControl).SelectedIndex+1;Key:=#0;end;end;(3).Dbgrid中选择多行发生一事件。procedureTForm1.Button1Click(Sender:TObject);vari:integer;bookmarklist:Tbookmarklist;bookmark:tbookmarkstr;beginbookmark:=adoquery1.Bookmark;bookmarklist:=dbgrid1.SelectedRows;trybeginfori:=0tobookmarklist.Count-1dobeginadoquery1.Bookmark:=bookmarklist[i];withadoquery1dobeginedit;fieldbyname('mdg').AsString:=edit2.Text;post;end;end;end;finallyadoquery1.Bookmark:=bookmark;end;end;(4).Form的一个出现效果。procedureTForm1.Button1Click(Sender:TObject);varr:thandle;i:integer;beginfori:=1totrunc(width/1.414)dobeginr:=CreateEllipticRgn(trunc(width/2)-i,trunc(height/2)-i,trunc(width/2)+i,trunc(height/2)+i);SetWindowRgn(handle,r,true);Application.ProcessMessages;sleep(1);end;end;(5).用Enter代替Tab在编辑框中移动隹点。procedureTForm1.FormKeyPress(Sender:TObject;varKey:Char);beginifkey=#13thenbeginifnot(ActivecontrolisTmemo)thenbeginkey:=#0;keybd_event(vk_tab,mapvirtualkey(vk_tab,0),0,0);end;end;end;(6).Progressbar加上色彩。const{$EXTERNALSYMPBS_MARQUEE}PBS_MARQUEE=08;varForm1:TForm1;implementation{$R*.dfm}usesCommCtrl;procedureTForm1.Button1Click(Sender:TObject);begin//SettheBackgroundcolortotealProgressbar1.Brush.Color:=clTeal;//SetbarcolortoyellowSendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clYellow);end;(7).住点移动时编辑框色彩不同。procedureTForm1.Edit1Enter(Sender:TObject);begin(senderastedit).Color:=clred;end;procedureTForm1.Edit1Exit(Sender:TObject);begin(senderastedit).Color:=clwhite;end;(8).备份和恢复procedureTForm1.Button1Click(Sender:TObject);beginifOpenDialog1.Executethenbegintryadoconnection1.Connected:=False;adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=master;DataSource=FRIEND-YOFZKSCO;'+'UseProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=FRIEND-YOFZKSCO;UseEncryptionforData=False;Tagwithcolumncollationwhenpossible=False';adoconnection1.Connected:=True;withadoQuery1dobeginClose;SQL.Clear;SQL.Add('BackupDataBasesfatodisk='''+opendialog1.FileName+'''');ExecSQL;end;exceptShowMessage('±?·Y꧰ü');Exit;end;end;Application.MessageBox('1§?2?ú£?êy?Y±?·Y3é1|','ìáê?',MB_OK+MB_ICONINFORMATION);end;procedureTForm1.Button2Click(Sender:TObject);beginifOpenDialog1.Executethenbegintryadoconnection1.Connected:=false;adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=master;DataSource=FRIEND-YOFZKSCO;'+'UseProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=FRIEND-YOFZKSCO;UseEncryptionforData=False;Tagwithcolumncollationwhenpossible=False';adoconnection1.Connected:=true;withadoQuery1dobeginClose;SQL.Clear;SQL.Add('RestoreDataBasesfafromdisk='''+opendialog1.FileName+'''')...