Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Keinen Rahmen wenn Objekt den Focus hat? (https://www.delphipraxis.net/31000-keinen-rahmen-wenn-objekt-den-focus-hat.html)

Sharky 2. Okt 2004 12:57


Keinen Rahmen wenn Objekt den Focus hat?
 
Hai,

gibt es eine Möglichkeit zu verhindern das ein "Rahmen" um ein Object (in diesem Fall eine TTrackBar) gezeichnet wird wenn es den Focus besitzt?

Christian Seehase 2. Okt 2004 13:03

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Moin Sharky,

probier' doch mal mit DrawFocusRect zu experimentieren.
Eigentlich solltest Du den Rahmen durch einen erneuten Aufruf dieser Funktion wegbekommen, sobald das Control den Fokus bekommt.

Sharky 2. Okt 2004 13:10

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Zitat:

Zitat von Christian Seehase
...Eigentlich solltest Du den Rahmen durch einen erneuten Aufruf dieser Funktion wegbekommen, sobald das Control den Fokus bekommt.

Hai Christian,
so wie ich das verstehe müsste ich aber genau wissen wo der Rahmen gezeichnet wird um in durch einen erneuten aufruf zu entfernen?

Christian Seehase 2. Okt 2004 13:26

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Moin Sharky,

wo das Control sitzt, müsste sich ja errechnen/auslesen lassen :gruebel:

Sharky 2. Okt 2004 13:48

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Zitat:

Zitat von Christian Seehase
...wo das Control sitzt, müsste sich ja errechnen/auslesen lassen :gruebel:

Jup,
aber irgenwas mache ich falsch. Was muss ich dem Rects den übergeben? Die masse des Objectes oder seine Position auf der Form?

Christian Seehase 2. Okt 2004 15:01

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Moin Sharky,

es muss die Position übergeben werden.
Mal ein Beispiel:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  dwDC : DWORD;

begin
  dwDC := GetDC(Self.Handle);
  try
    DrawFocusRect(dwDC,self.ClientRect);
  finally
    ReleaseDC(Self.Handle,dwDC);
  end;
end;

Sharky 2. Okt 2004 18:51

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Hai Christian,

leider schaffe ich es trotzdem nicht :cry:
Wenn ich es so versuche passiert überhaupt nichts:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Trackbar1.SetFocus;
  DrawFocusRect(TrackBar1.Handle,TrackBar1.ClientRect);
end;
Wenn ich dein Beispiel verwende zeichnet er mir, so wie erwartet, einen FocusRect um meine gesamte TForm.

Christian Seehase 2. Okt 2004 20:38

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Moin Sharky,

DrawFocusRect benötigt den Device Context, nicht das Handle des Controls.
Deshalb muss die Verwendung dieser Funktion der DC gelesen (GetDC), und, nachdem er nicht mehr benötigt wird, wieder freigeben (ReleaseDC) werden.

Aurelius 1. Nov 2007 19:14

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Sorry das ich den Thread hier wieder rauskrame, aber ich habe zur Zeit das selbe Problem. Nur leider funktioniert der BeispielCode bei mir nicht. Könnt ihr mir weiter helfen?

Ich hab schon die Suche genutzt, das hat mir aber alles nichts gebracht...

Robert Marquardt 2. Nov 2007 05:34

Re: Keinen Rahmen wenn Objekt den Focus hat?
 
Warum nur wolen die Leute immer die bewaehrten User Interface Regeln kaputtmachen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 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