Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Button überspringt OnKeyDown bei VK_Up / VK_Down (https://www.delphipraxis.net/90605-button-ueberspringt-onkeydown-bei-vk_up-vk_down.html)

Aike 21. Apr 2007 08:35

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
TTabControl lässt sich allerdings nicht in eine Horizontale zwängen, weswegen die Button-Lösung die richtige ist ;-p

Robert Marquardt 21. Apr 2007 16:23

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Komisch, sowohl TabControl als auch PageControl lassen sich bei mir umschalten. Dabei wird die Schrift auch noch vertikal geschrieben.

Aike 23. Apr 2007 17:15

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Huch, die Eigenschaft TabPosition hab ich gar nicht gesehen. Allerdings ist eine vertikale Schrift alles andere als der Übersichtlichkeit dienlich. Darum ist meine Lösung doch die richtige, solange es keine Lösung gibt, die meine Buttons (o.ä.) in einer vertikalen Anordnung aber mit horizontaler Schrift bietet.

sh17 24. Apr 2007 10:16

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Das würde mich jetzt aber doch interessieren.

Kann man irgend wie erzwingen, die Nachrichten VK_DOWN und VK_UP vor den Buttons zu erhalten. Auch wenn es, wie es scheint, gegen das Windowsstandardverhalten ist. In bestimmten Dialogen möchte ich nicht, das mit den Pfeiltasten zwischen den Buttons herumgesprungen wird, sondern eine andere Aktion durchgeführt wird. Und das klappt eben nicht, wenn die Buttons gerade den Fokus haben. Dann kommen die Events nicht mehr durch.

Robert Marquardt 24. Apr 2007 10:37

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Erzwingen kann man das schon (ein Memo oder Edit machen das ja), aber man verliert dabei die Navigation zwischen den Buttons.

sh17 24. Apr 2007 10:41

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Zitat:

Zitat von Robert Marquardt
aber man verliert dabei die Navigation zwischen den Buttons.

Das macht in diesem Fall nichts.

Lannes 24. Apr 2007 12:01

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Hallo,

Checkbox = Button:
Checkbox / KeyDown, KeyPress, KeyUp | Beitrag #6 oder #7

bitsetter 24. Apr 2007 13:21

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Zitat:

Zitat von Aike
Huch, die Eigenschaft TabPosition hab ich gar nicht gesehen. Allerdings ist eine vertikale Schrift alles andere als der Übersichtlichkeit dienlich. Darum ist meine Lösung doch die richtige, solange es keine Lösung gibt, die meine Buttons (o.ä.) in einer vertikalen Anordnung aber mit horizontaler Schrift bietet.

Hi,

man könnte die Schrift jedoch selber zeichnen,
Delphi-Quellcode:
 procedure TForm1.FormCreate(Sender: TObject);
begin
  TabControl1.OwnerDraw := true;
  TabControl1.TabPosition := tpLeft;
  TabControl1.TabWidth := 25;
  TabControl1.TabHeight := 75;
end;

procedure TForm1.TabControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
  if Control is TTabControl then
    TTabControl(Control).Canvas.TextOut((Rect.Right - Rect.Left -
    TTabControl(Control).Canvas.TextWidth(TTabControl(Control).Tabs[TabIndex])) div 2,
    Rect.Top + (Rect.Bottom- Rect.Top -
    TTabControl(Control).Canvas.TextHeight(TTabControl(Control).Tabs[TabIndex])) div 2,
    TTabControl(Control).Tabs[TabIndex]);
end;
ob das ein zufriedenstellendes Ergebnis ist, ist natürlich Ansichtssache.

EDIT: Der Fehler wurde behoben, dass alle Taps die selbe Caption haben.

Aike 24. Apr 2007 14:23

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Das sieht doch schonmal sehr nett aus, aber die Tabs haben jetzt alle die selbe Caption :-/

bitsetter 24. Apr 2007 21:54

Re: Button überspringt OnKeyDown bei VK_Up / VK_Down
 
Den Code habe ich jetzt abgeändert, es lag wohl an
Delphi-Quellcode:
with TTabControl(Control) do
jetzt müsste es eigentlich funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz