熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi趣味編程實例三則

2013-11-23 17:47:31  來源: Delphi編程 

  隱藏任務欄屏蔽熱鍵

  在自己的程序中將任務欄隱藏起來並屏蔽Ctrl+Alt+Del和Alt+Tab等系統熱鍵也是很有趣的要實現它們比較容易但千萬別忘了恢復正常另外本例中使用了個API函數FindWindowShowWindow和SystemParametersInfo在使用它們之前一定要進行申明

  Implementation

  var Hwnd:THandle;

  Tmp:integer;

  procedure TFormButtonClick(Sender: TObject);

  begin

  Hwnd:=FindWindow(Shell_TrayWndnil);

  if Hwnd<> then ShowWindow(HwndSW_HIDE); //隱藏任務欄

  SystemParametersInfo(SPI_SCREEN

  SAVERRUNNING@Tmp); //屏蔽系統熱鍵

  end;

  procedure TFormButtonClick(Sender: TObject);

  begin

  Hwnd:=FindWindow(Shell_TrayWndnil);

  ShowWindow(HwndSW_SHOW); //恢復任務欄

  SystemParametersInfo(SPI_SCR

  EENSAVERRUNNING@Tmp);

  //恢復系統熱鍵

  end;

  動態調整顯示器分辨率

  Delphi提供了可以動態改變屏幕分辨率的函數分別是EnumDisplaySettings()和ChangeDisplaySettings()有了它們編程時可以隨時改變分辨率以適應要求下面的CRTReset函數能方便實現這一功能

  implementation

  function CRTReset(X Y: Word): Boolean;

  var

   lpDevMode: TDeviceMode;

  begin

   Result:= EnumDisplaySettings(nil lpDevMode); //獲取顯示模式

   if Result then begin

  lpDevModedmFields := DM_PELSWID

  TH Or DM_PELSHEIGHT;

  lpDevModedmPelsWidth := X;

  lpDevModedmPelsHeight := Y; //設置屏幕的寬度和高度

  Result:= ChangeDisplaySettings(lpDevMode ) = DISP_CHANGE_SUCCESSFUL;

   //改變屏幕分辨率並返回成功與否

  end;

  end;

  procedure TFormButtonClick(Sender: TObject);

  begin

  if CRTReset( ) then ShowMessage(Now is *); //調用函數設置分辨率為×

  end;

  三鼠標滾輪如何編程

  我們使用的鼠標很多都帶有一個滾輪方便用戶的操作但遺憾的是平時編程多數只利用到鼠標的左右兩鍵如果將滾輪操作功能也加進你的程序定能使其增色不少

  當鼠標指針指向窗體中時Delphi為滾輪滾動提供OnMouseWheel事件我們可以對它進行相應的處理本例中在窗體內放置一標簽Label用於顯示滾輪滾動的效果

  implementation

  var i:integer;

  procedure TFormFormCreate(Sender: TObject);

  begin

   i:=;

   LabelCaption:=inttostr(i);

  end;

  procedure TFormFormMouseWheel(Sender: TObject; Shift: TShiftState;

   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);

  begin

   if WheelDelta> then i:=i+ else i:=i;

   //wheelDelta參數表示滾動一格的值向上滾動為正數向下滾動則為負數

   LabelCaption:=inttostr(i);

  end;


From:http://tw.wingwit.com/Article/program/Delphi/201311/25085.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.