AGB  ·  Datenschutz  ·  Impressum  







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

TCheckBox OnKeyDown nicht bei Cursortasten

Ein Thema von luka · begonnen am 12. Jun 2007 · letzter Beitrag vom 13. Jun 2007
Antwort Antwort
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#1

TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 12:51
Hallo,

ich habe ein Formular mit KeyPreview auf True. Es sollen die Cursortasten abgefangen werden. Das funktioniert auch - außer wenn eine TCheckBox-Komponente den Focus hat. Es wird dann weder im OnKeyDown der CheckBox noch im Formular ein Ereignis ausgelöst, sondern nur die nächste Komponente angesprungen.

Wer kennt das Phänomen und kennt eine Möglichkeit, hier trotzdem die Cursortasten abzufangen?

Danke im Voraus

LuKa
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#2

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 13:32
Hallo LuKa - herzlich Willkommen in der DP

Von diesem Problem habe ich auch schon gehört, das betrifft im übrigen auch die Plus- und Minus-Taste - hab momentan noch keine Lösung parat. Eventuell könntest du ja mal versuchen, ob die Jedi-Checkbox anders reagiert.

Gruß

René
  Mit Zitat antworten Zitat
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#3

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 13:37
Das mit den anderen Tasten ist mir gar nicht aufgefallen.
Mit den Jedi´s habe ich es auch schon probiert, leider dasselbe verhalten. :(
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#4

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 13:52
Sorry, hab mich geirrt: Plus und Minus funktioniert.
Bis jetzt betrifft es nur die Cursortasten, Tab und Druck.
Wäre wirklich mal interessant, wie man diese Tasten abfängt.
  Mit Zitat antworten Zitat
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#5

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 14:11
Habe gerade einmal ein kleines C# Programm geschrieben und auch hier lösen die Cursortasten keinen Event aus!

Standardverhalten einer Checkbox?
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#6

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 14:22
Zitat von luka:
Habe gerade einmal ein kleines C# Programm geschrieben
Bestimmt ein 2-Zeiler? Kleiner Insider-Witz

Irgendwie muss es doch aber möglich sein, im Programm auf die Cursortasten reagieren zu können. Das darf mir doch auch eine Checkbox nicht blockieren.
  Mit Zitat antworten Zitat
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#7

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 14:29
Nee, war nur ein Einzeiler!
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 16:20
Ein Steuerelement bekommt nur dann die Pfeiltasten (Cursortasten) über WM_KEYxxx-Meldungen, wenn es auf die Meldung WM_GETDLGCODE den Wert DLGC_WANTARROWS oder DLGC_WANTALLKEYS zurückgibt. Ihr müsstet euch also eine eigene Klasse von TCheckBox ableiten und eine Behandlung für die Meldung WM_GETDLGCODE hinzufügen.

Beispiel:
Delphi-Quellcode:
interface

type
  TCheckboxWithArrowKeys = class(TCheckBox)
  private
    procedure WMGetDlgCode(var Message: TWMGetDlgCode); message WM_GETDLGCODE;
  end;

implementation

procedure TCheckboxWithArrowKeys.WMGetDlgCode(var Message: TWMGetDlgCode);
begin
  inherited;
  Message.Result := Message.Result or DLGC_WANTARROWS;
end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#9

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 16:42
Das werde ich gleich einmal testen. Danke.
  Mit Zitat antworten Zitat
luka

Registriert seit: 10. Aug 2006
Ort: Cottbus
33 Beiträge
 
Delphi 2009 Professional
 
#10

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 13. Jun 2007, 10:08
@Flocke
Danke, dass war genau der Hinweis den ich benötigte.

@smudo
Grüße in die Nachbarschaft!
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:31 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