AGB  ·  Datenschutz  ·  Impressum  







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

TABSTOP-Problem bei Panels

Ein Thema von silentAMD · begonnen am 25. Feb 2006 · letzter Beitrag vom 25. Feb 2006
Antwort Antwort
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#1

TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 10:41
hi,

habe vor einiger zeit ein programm von einem kumpel geschickt bekommen (taschenrechner). dieser taschenrechner hat panels für die zahleneingabe des taschenrechners (1,2,3..) und man kann sie per "tab" anwählen und mit enter oder leertaste anklicken.
nun habe ich auch versucht mit panels einen taschenrechner zu programmieren, aber ich kann die panels nicht mittels tab anwählen!! habe auch schon die tabstop auf true gesetzt, aber es wird nichts ausgeführt wenn ich auf dem panel bin und enter drücke...


PLEASE HELP!
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 11:44
Wenn Du Dich mit >TAB< bewegen willst, musst Du auch >Tab< drücken und nicht >Enter<. Wenn Du mit >Enter< etwas bewirken willst (z.B. Übernehmen des Wertes), dann musst Du das dem Panel auch ausdrücklich sagen.

mfg Gfjs
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 11:47
Zitat von gfjs:
Wenn Du Dich mit >TAB< bewegen willst, musst Du auch &gt;Tab&lt; drücken und nicht &gt;Enter&lt;.
so blöd bin ich auch wieder nicht...


Zitat von gfjs:
Wenn Du mit &gt;Enter&lt; etwas bewirken willst (z.B. Übernehmen des Wertes), dann musst Du das dem Panel auch ausdrücklich sagen.

bitte etwas ausführlicher... falls du einen onclick-befehl meinst, den hab ich schon eingebaut...
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 12:00
Sorry , ich sitze im Büro und habe nur nebenbei einmal kurz ins Forum geschaut und den ersten Teil des Satzes überlesen. Also, nimm's mir bitte nicht übel.

Auf meinem Bürorechner habe ich kein Delphi installiert und kann nichts ausprobieren. Aber wenn ich probier's nachmittags mal aus, wenn ich zu Hause bin.

mfg gfjs
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 12:17
Hai silentAMD,

bist Du sicher das es mit Panels gemacht wurde? Das ich recht ungewöhnlich. Buttons wären doch viel besser.
Aber egal. Das "Problem" ist das ein Panel kein OnKeypress oder ähnliches kennt und das OnClick nur beim klicken mit der Maus reagiert.

Du musst also im OnKeyDown der Mainform auf die Tastendrücke reagieren (KeyPreview := True).
Das ganze könnte zum Beispiel so aussehen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreview := True;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_RETURN) or (Key = VK_SPACE) then
  begin
    if (ActiveControl is TPanel) then
    begin
      (ActiveControl as TPanel).OnClick (ActiveControl);
    end;
  end;
end;

procedure TForm1.AllePannelEnter(Sender: TObject);
begin
  (Sender as TPanel).BorderStyle := bsSingle;
end;

procedure TForm1.AllePannelExit(Sender: TObject);
begin
  (Sender as TPanel).BorderStyle := bsNone;
end;

procedure TForm1.AllePannelClick(Sender: TObject);
begin
  (Sender as TPanel).SetFocus; // Focus bei Mausklick
  ShowMessage ((Sender as TPanel).Name);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 13:06
Hallo, silentAMD.

Jetzt sitze ich zu Hause an meinem Rechner und habe mal ein wenig rumprobiert. Im ersten Augenblick dachte ich auch, ich könnte mich mit >Tab< nicht von Panel zu Panel bewegen. Dann habe ich bemerkt, dass sich die Panels beim Anspringen mit >Tab< nicht verändern, so dass ich es einfach nicht bemerkt habe. Habe dann in das onEnter-Ereignis "Panel1.Color := clRed" eingegeben - und siehe da: von Panel zu Panel mit >Tab< funktioniert. Die Behandlung der Enter- bzw. Leertaste hat Dir Sharky schon beschrieben (besser, als ich es gekonnt hätte).

Noch viel Spaß und schönes Wochenende.

mfg gfjs
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TABSTOP-Problem bei Panels

  Alt 25. Feb 2006, 15:55
thx @all: ich werde es mal ausprobieren

ich bin mir aber ziehmlcih sicher, dass mein kumpel, der mir den taschenrechner geschickt hat, das mit Sharky's idee sicher nicht hätte machen können


nochmal danke für die schnelle antwort
mfg
ingo
  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 12:40 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