KPrevF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit KPrevF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, ExtCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     RadioPreview: TRadioGroup;
  9.     Edit1: TEdit;
  10.     Edit2: TEdit;
  11.     Edit3: TEdit;
  12.     procedure RadioPreviewClick(Sender: TObject);
  13.     procedure FormKeyPress(Sender: TObject; var Key: Char);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     { Public declarations }
  18.   end;
  19. var
  20.   Form1: TForm1;
  21. implementation
  22. {$R *.DFM}
  23. procedure TForm1.RadioPreviewClick(Sender: TObject);
  24. begin
  25.   KeyPreview := RadioPreview.ItemIndex <> 0;
  26. end;
  27. procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
  28. begin
  29.   case RadioPreview.ItemIndex of
  30.     1: //  Enter = Tab
  31.       if Key = #13 then
  32.       begin
  33.         Key := #0;
  34.         Perform (CM_DialogKey, VK_TAB, 0);
  35.       end;
  36.     2: //  Type in Caption
  37.     begin
  38.       if Key = #8 then // backspace: remove last char
  39.         Caption := Copy (Caption, 1,
  40.           Length (Caption) - 1)
  41.       else if Key = #13 then // enter: stop operation
  42.         RadioPreview.ItemIndex := 0
  43.       else // anything else: add character
  44.         Caption := Caption + Key;
  45.       Key := #0;
  46.     end;
  47.     3: // Skip vowels
  48.       if Key in ['a', 'e', 'i', 'o', 'u',
  49.           'A', 'E', 'I', 'O', 'U'] then
  50.         Key := #0;
  51.   end;
  52. end;
  53. end.