AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Reaktion auf Pfeiltasten

Ein Thema von Leo · begonnen am 8. Mai 2003 · letzter Beitrag vom 9. Mai 2003
Antwort Antwort
Seite 1 von 2  1 2      
Leo

Registriert seit: 10. Apr 2003
Ort: Berlin
32 Beiträge
 
#1

Reaktion auf Pfeiltasten

  Alt 8. Mai 2003, 23:29
Hallo,

Warum reagiert die Procedur auf Tataur Ereignisse der

"Einfg","Entf","Pos1","Ende" etc. Tasten aber warum wird sie nicht aufgerufen, wenn ich die Pfeiltasten betätige?

Delphi-Quellcode:
procedure TQuelltextBox.KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
     VK_DELETE : Projekt.AktuelleDatei.Quelltext.DeleteZeichen(1);
     VK_LEFT : Projekt.AktuelleDatei.Quelltext.CursorBewegen(-1, 0);
     VK_RIGHT : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 1, 0);
     VK_UP : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 0,-1);
     VK_DOWN : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 0, 1);
  end;
end;
Manchmal ist die Sicherheitskopie der einzige trost.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 9. Mai 2003, 02:08
setze mal "KeyPreview" der Form auf true.
Gruß
Hansa
  Mit Zitat antworten Zitat
Leo

Registriert seit: 10. Apr 2003
Ort: Berlin
32 Beiträge
 
#3

KeyPreview

  Alt 9. Mai 2003, 13:32
Hilft leider gar nichts
Manchmal ist die Sicherheitskopie der einzige trost.
  Mit Zitat antworten Zitat
Leo

Registriert seit: 10. Apr 2003
Ort: Berlin
32 Beiträge
 
#4

Tatsturereignisse

  Alt 9. Mai 2003, 13:34
Hallo,

ich habe gerade im Zusammenhang mit KeyPreview diesen Satz in der Hilfe gefunden

"Die Einstellung bezieht sich nicht auf Navigationstasten (TAB, Pfeiltasten usw.), da diese keine Tastaturereignisse auslösen."

Wie reagiert man den dann auf Pfeiltasten?
Manchmal ist die Sicherheitskopie der einzige trost.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#5
  Alt 9. Mai 2003, 13:47
Gute Frage. Die müssen ja irgendeine Nachricht an Windows senden, damit man z.B. in einem Memo navigieren kann.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#6
  Alt 9. Mai 2003, 13:55
Also wenn TQuelltextBox ein Form ist, versteh ich nicht, dass das nicht geht.

Ich hab

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Case Key of
VK_Up : ShowMessage('Nach oben Taste wurde gedrückt');
VK_DOWN:ShowMessage('Nach unten Taste wurde gedrückt');
end;
end;
eingegeben und alles lief wie gewünscht.

Man liest sich. Stanlay 8)
  Mit Zitat antworten Zitat
Leo

Registriert seit: 10. Apr 2003
Ort: Berlin
32 Beiträge
 
#7

Nein

  Alt 9. Mai 2003, 13:57
TQuelltextBox ist kein Form sondern eine von TPanel abgeleitete Komponenete in einem Form.
Manchmal ist die Sicherheitskopie der einzige trost.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 9. Mai 2003, 14:01
Hier habe ich einfach zwei Buttons. Drücke ich einen Deiner Pfeiltasten, dann springt der Cursor jeweils zu dem anderen Button.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    case key of
    VK_DELETE,
    VK_LEFT,
    VK_RIGHT,
    VK_UP,
    VK_DOWN : Button1.SetFocus;
  end;
end;

procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
    VK_DELETE,
    VK_LEFT,
    VK_RIGHT,
    VK_UP,
    VK_DOWN : Button2.SetFocus;
  end;
end;

end.
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 9. Mai 2003, 14:04
Ws lese ich da Von Panel abgeleitet ? Kannst Deine Arbeiten getrost einstellen, siehe Navigator. Ein Panel löst genauso wenig ein Tataturereignis aus wie der Navigator. Da haste die A....-Karte gezogen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#10
  Alt 9. Mai 2003, 14:05
Also bei mir hat ein TPanel gar kein OnKey usw. Hast du das hinzugefügt als du die Komponente abgeleitet hast?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz