程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 用Delphi檢測特殊鍵狀態

用Delphi檢測特殊鍵狀態

編輯:Delphi

  在編程中,三個特殊鍵(NUM LOCK鍵、CAPS LOCK鍵、SCROLL LOCK鍵)是可以通過鍵盤控制操作的。但有時在應用程序中需要切換大小寫輸入、數字鍵輸入等功能,這就需要在程序中加入自動判別這些鍵狀態和切換這些鍵狀態的功能。筆者用Delphi4.0編制了一個檢測和切換這些特殊鍵的程序。

  一、創建含有如下控件的窗體:


控件
Caption


form1
用Delphi檢測Num Lock鍵,Caps Lock鍵,Scroll Lock鍵的狀態


checkbox1
按下Num Lock鍵


checkbox2
按下Caps Lock鍵


checkbox3
按下Scroll Lock鍵


Time1
 


二、編寫如下程序:

  unit nums;

  interface

  uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

   ExtCtrls, ComCtrls, StdCtrls;

  type

   TForm1 = class(TForm)

  Timer1: TTimer;

  CheckBox1: TCheckBox;

  CheckBox2: TCheckBox;

  CheckBox3: TCheckBox;

  procedure Timer1Timer(Sender: TObject);

   private

  { Private declarations }

   public

  { Public declarations }

   end;

  var

   Form1: TForm1;

  implementation

  {$R .DFM}

  procedure TForm1.Timer1Timer(Sender: TObject);

  var keystates:TKeyboardState;

  begin

  getkeyboardstate(keystates);

  begin

  if odd(keystates[vk—nUMLock]) then

  checkbox1.Checked:=true

  //判斷是否按下Num Lock鈕

  NUMLock

  else

  checkbox1.Checked:=false;

  if odd(keystates[vk—CAPITAL]) then

  checkbox2.Checked:=true

  //判斷是否按下Caps Lock鈕

  else

  checkbox2.Checked:=false;

  if odd(keystates[vk—Scroll]) then

  //判斷是否按下Scroll Lock鈕

  checkbox3.Checked:=true

  else

  checkbox3.Checked:=false;

  end;

  end;

  end.

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved