home *** CD-ROM | disk | FTP | other *** search
/ Delphi 4 Bible / Delphi_4_Bible_Tom_Swan_IDG_Books_1998.iso / source / CAPSLOCK / MAIN.PAS < prev   
Pascal/Delphi Source File  |  1998-04-13  |  1KB  |  65 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, ExtCtrls, StdCtrls, Buttons;
  8.  
  9. type
  10.   TMainForm = class(TForm)
  11.     StatusPanel: TPanel;
  12.     CapsLockPanel: TPanel;
  13.     NumLockPanel: TPanel;
  14.     ScrollLockPanel: TPanel;
  15.     InsPanel: TPanel;
  16.     BitBtn1: TBitBtn;
  17.     Label1: TLabel;
  18.     Bevel1: TBevel;
  19.     CapsLockLabel: TLabel;
  20.     NumLockLabel: TLabel;
  21.     ScrollLockLabel: TLabel;
  22.     InsLabel: TLabel;
  23.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  24.       Shift: TShiftState);
  25.     procedure FormActivate(Sender: TObject);
  26.   private
  27.     { Private declarations }
  28.   public
  29.     { Public declarations }
  30.     procedure UpdateKeyPanel;
  31.   end;
  32.  
  33. var
  34.   MainForm: TMainForm;
  35.  
  36. implementation
  37.  
  38. {$R *.DFM}
  39.  
  40. procedure TMainForm.UpdateKeyPanel;
  41. begin
  42.   CapsLockLabel.Enabled :=
  43.     GetKeyState(VK_CAPITAL) and 1 = 1;
  44.   NumLockLabel.Enabled :=
  45.     GetKeyState(VK_NUMLOCK) and 1 = 1;
  46.   ScrollLockLabel.Enabled :=
  47.     GetKeyState(VK_SCROLL)  and 1 = 1;
  48.   InsLabel.Enabled :=
  49.     GetKeyState(VK_INSERT)  and 1 = 1;
  50. end;
  51.  
  52. procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;
  53.   Shift: TShiftState);
  54. begin
  55.   UpdateKeyPanel;
  56. end;
  57.  
  58. procedure TMainForm.FormActivate(Sender: TObject);
  59. begin
  60.   UpdateKeyPanel;
  61. end;
  62.  
  63. end.
  64.  
  65.