unit Hndltabu; interface usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; typeTForm1 = class(TForm)Edit1: TEdit;Edit2: TEdit;Label1: TLabel;procedure FormCreate(Sender: TObject);private { Private-Deklarationen }procedure AppMessage(var Msg: TMsg; var Handled: Boolean);public { Public-Deklarationen }end; varForm1: TForm1; implementation {$R *.DFM} procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);constshiftPressed: boolean = false;beginif Msg.Message = WM_KEYDOWN thenif not shiftPressed and (Msg.wParam = VK_SHIFT) thenbeginshiftPressed := true;Exit;endelsebeginif Msg.wParam = VK_TAB thenif ActiveControl = Edit1 then beginif shiftPressed thenLabel1.Caption := 'BACKTAB!'elseLabel1.Caption := 'TAB!'; Handled := trueendelseLabel1.Caption := ''; shiftPressed := false;end;end; procedure TForm1.FormCreate(Sender: TObject);beginApplication.OnMessage := AppMessage;end; end. |
- Ralph Friedman [000956]