AGB  ·  Datenschutz  ·  Impressum  







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

[STRG]+[1] oder [STRG]+[2] ....

Ein Thema von binio · begonnen am 25. Nov 2005 · letzter Beitrag vom 25. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#1

[STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 13:09
Möchte das immer wenn jemand in mein Delphi Programm [STRG]+[1] Drückt in die Page-Control-->TabSheet1 springt und der Focus auf der Registerkarte TabSheet1 liegt.

Bei [STRG]+[2] = Page-Control-->TabSheet2
Bei [STRG]+[3] = Page-Control-->TabSheet3
...
Bei [STRG]+[9] = Page-Control-->TabSheet9

Ich habe schon viele Forumeinträge versucht doch keiner Hat wirklich geklappt.
Kann mir Bitte einer Helfen

Mfg
Robert
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 13:17
Hallo!

Willkommen in der Delphi-Praxis!

hast du es schon damit versucht?

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ssctrl in shift then begin
    case char(key) of
      '1':
        //tab 1 anzeigen
      '2':
        //tab 2 anzeigen
      [...]
    end;
  end;
end;
den Code musst du in die Form.onkeydown einfügen.

du kannst die Keydowns von allen anderen Komponenten auch diesen Code ausführen lassen.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 13:18
schau dir mal die TApplicationEvents Kompo an

EDIT: welche Delphiversion benutzt du? Bitte in Profil angeben, dann kann die Hilfe auch gezielter erfolgen.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#4

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 13:34
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ssctrl in shift then begin
    case char(key) of
      '1':
        //tab 1 anzeigen
      '2':
        //tab 2 anzeigen
      [...]
    end;
  end;
end;
klappt super !!!
Danke viel mals !!!
Nun bleibt noch die Frage offen wie ich bei STRG + 1 im Pagecontrol-->TabSheet1 Focusiere.
Also ich muss unbedingt das Focus auf den Registerkartenkopf setzen beim öffen der TabSheet1, TabSheet2,...

Danke schonmal im vorraus für die Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 13:39
Hi binio,
etwas universeller ist:
Delphi-Quellcode:
procedure TFRMMain.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with PageControl1 do
  begin
    if (Shift = [ssCtrl]) and (key in [48..56]) and (PageCount > key - 49) then
    begin
      ActivePageIndex := key - 49;
      key := 0;
    end;
  end;
end;
Da kannst du weitere Tabsheets hinzufügen etc.
CCu, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#6

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 14:03
Delphi-Quellcode:
procedure TFRMMain.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with PageControl1 do
  begin
    if (Shift = [ssCtrl]) and (key in [48..56]) and (PageCount > key - 49) then
    begin
      ActivePageIndex := key - 49;
      key := 0;
    end;
  end;
end;
klappt lauch super und das tolle ist noch das ich die F1 bis F12 Tasten mit einbinden kann :)
Aber wie setze ich jetzt den Focus auf die Registerkartenköpfe?
Habe das Problem das wenn ich in einer Registerkarte (1) auf die darin enthaltenen Listenfelder gehe und z.B. [STRG]+[2] oder [STRG]+[TAB] drücke der in Registerkarte (2) auf die darin enthaltene Listenfelder geht. Er soll aber auf den Registerkartenkopf

Mfg
Robert

P.S. ich sollte wohl noch erwehnen das ich newbie in Delphi bin :(
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#7

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 14:24
tabsheet1.setfocus

ich weiss nicht genau, aber vllt gibts ja sowas.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#8

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 14:32
Delphi-Quellcode:
procedure TForm1.TabSheet1Show(Sender: TObject);
begin
    tabsheet1.setfocus;
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
    tabsheet2.setfocus;
end;

procedure TForm1.TabSheet3Show(Sender: TObject);
begin
    tabsheet3.setfocus;
end;
klappt leider nicht :(
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 14:35
So geht's auf jedenfall:

PageControl1.ActivePage := TabSheet2;
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#10

Re: [STRG]+[1] oder [STRG]+[2] ....

  Alt 25. Nov 2005, 14:43
Leider nicht.
Er Zeigt mir bei

Delphi-Quellcode:
PageControl1.ActivePage := TabSheet1;
...
PageControl1.ActivePage := TabSheet9;
Tabsheet1 ... Tabsheet9 an, aber wenn ich vorher in Tabsheet1 die Liste angeklickt hatte
dann setzt er das Focus auch in Tabsheet2 ... Tabsheet9 auf die darinenthaltene Liste.
  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 04:58 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