AGB  ·  Datenschutz  ·  Impressum  







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

Rand um gedrückten Button entfernen

Ein Thema von Nagetier · begonnen am 28. Apr 2007 · letzter Beitrag vom 28. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2      
Nagetier

Registriert seit: 21. Apr 2007
36 Beiträge
 
Delphi 7 Professional
 
#1

Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 15:55
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

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
Angehängte Grafiken
 
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 15:56
Hallo,

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

Grüße
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 16:00
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.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#4

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 16:06
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.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#5

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 16:07
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.
  Mit Zitat antworten Zitat
Nagetier

Registriert seit: 21. Apr 2007
36 Beiträge
 
Delphi 7 Professional
 
#6

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 16:40
Was für nachteile gäbe es denn konkret für mich, wenn ich den Focus verliere? O.o?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 16:54
Man kann dann nicht mehr per Tastatur navigieren.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 17:07
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
  Mit Zitat antworten Zitat
DGS

Registriert seit: 10. Jul 2004
65 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 17:16
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.
Vorschläge für sinnvolle Signatur bitter per PN
  Mit Zitat antworten Zitat
Nagetier

Registriert seit: 21. Apr 2007
36 Beiträge
 
Delphi 7 Professional
 
#10

Re: Rand um gedrückten Button entfernen

  Alt 28. Apr 2007, 17:18
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
  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 22:55 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