Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rand um gedrückten Button entfernen (https://www.delphipraxis.net/91062-rand-um-gedrueckten-button-entfernen.html)

Nagetier 28. Apr 2007 14:55


Rand um gedrückten Button entfernen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mal wieder ein neuer Thread, mit einer kurzen, schmerzlosen Frage...

Ich habe das Problem in meinem Programm, dass mich diese gestrichelten Linien stören, sobald in einen Button drücke, da es zum Teil schlicht weg gesagt, sch...öner sein könnte :angel2:

In den Eigenschaften der Buttons (BitBtns) habe ich nichts entsprechendes gefunden, bzw entdecken können, was mir das abschalten der Linie ermöglicht...

Ist dies unter Delphi überhaupt möglich, bzw is dies generell möglich?

Nager

//Im Anhand hab ich das ganze mal als Bild festgehalten, falls es Probleme mit meiner Erläuterung gibt ;)

Balu der Bär 28. Apr 2007 14:56

Re: Rand um gedrückten Button entfernen
 
Hallo,

setze entweder den Fokus auf ein anderes Control (Control.SetFocus;) oder benutze TSpeedButton, dort gibt es keinen solchen Rand.

Grüße

Nils_13 28. Apr 2007 15:00

Re: Rand um gedrückten Button entfernen
 
Zitat:

Zitat von Balu der Bär
setze entweder den Fokus auf ein anderes Control

Würde ich lassen, da dadurch der Fokus verloren gehen würde, was ich für schlecht halte.

Balu der Bär 28. Apr 2007 15:06

Re: Rand um gedrückten Button entfernen
 
Hallo Nils,

dann müsstest du den Vorschlag mit TSpeedButton aber auch lassen, da dieser über keinen Fokus verfügt und man somit beim gleichem Ergebnis herauskommt. Wer sich an dem Rand stört und auf Fokusierung verzichten kann, sollte somit zufrieden stellbar sein.

Nils_13 28. Apr 2007 15:07

Re: Rand um gedrückten Button entfernen
 
Man könnte auch einen eigenen Button programmieren und den Rand dort weglassen bzw. entsprechend färben. Ordentlicher geht es wirklich nicht mehr, denn ein Button ohne Fokus ist imho Mist. Dass ein Speedbutton keinen Fokus hat, wusste ich übrigens nicht mehr.

Nagetier 28. Apr 2007 15:40

Re: Rand um gedrückten Button entfernen
 
Was für nachteile gäbe es denn konkret für mich, wenn ich den Focus verliere? O.o?

DGL-luke 28. Apr 2007 15:54

Re: Rand um gedrückten Button entfernen
 
Man kann dann nicht mehr per Tastatur navigieren.

Hawkeye219 28. Apr 2007 16:07

Re: Rand um gedrückten Button entfernen
 
Hallo Nagetier,

wenn du wirklich auf das FocusRect verzichten möchtest, kannst du die folgende Unit hinter Buttons in die USES-Anweisung aufnehmen.

Delphi-Quellcode:
unit unit_BitBtnNoFocus;

interface

uses
  Messages, Controls, Buttons;

type
  TBitBtn = class (Buttons.TBitBtn)
  private
    procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
  end;

implementation

uses
  Windows;

procedure TBitBtn.CNDrawItem(var Message: TWMDrawItem);
begin
  with Message.DrawItemStruct^ do
    itemState := itemState and (not ODS_FOCUS);
  inherited;
end;

end.
Gruß Hawkeye

DGS 28. Apr 2007 16:16

Re: Rand um gedrückten Button entfernen
 
Sowas hatte mich auch gestörrt, also der Rand.
Glaub aber, dass mit dem Focus besser wäre, da es überall funktioniert. Dieser Rand taucht auch bei Checkbox auf, was mich doch ein klein wenig störrt. Bei der Checkbox hat man keine Alternative wie den SppedButton.

Nagetier 28. Apr 2007 16:18

Re: Rand um gedrückten Button entfernen
 
Perfekt, ich nutze BitBtns nur an einer Stelle des Programms, und dort stören die Ränder manchmal extrem, da sie durch verschiedenfarbige Beschriftung komische Farben annehmen, aber durch deinen Tip hat sich das erledigt...

Achja, Nachteile = keine man muss dort nicht mit der Tastatur arbeiten :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.
Seite 1 von 2  1 2      

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