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 TrackBar Umrandung bzw. Tab entfernen? (https://www.delphipraxis.net/130656-trackbar-umrandung-bzw-tab-entfernen.html)

AlexII 11. Mär 2009 21:28


TrackBar Umrandung bzw. Tab entfernen?
 
Hallo,

hab bei dem TrackBar Tab auf Stop (auch im OnChange) gestellt, aber immer wenn ich den Schieber bewege wird die TrackBar selektiert bzw. ein Rand rundherum gezogen. Wie bekomme ich das weg?

AlexII 12. Mär 2009 11:46

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Kann mir keiner was sagen? :gruebel:

himitsu 12. Mär 2009 11:51

Re: TrackBar Umrandung bzw. Tab entfernen?
 
die Trackbar DEselektieren bzw. was anderes selektieren?

AlexII 12. Mär 2009 11:57

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Egal was, Hauptsache die TrackBar wird nicht beim schieben des Schiebers selektiert.

himitsu 12. Mär 2009 12:27

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Wenn es beim Verschieben/Anklicken weg sein soll, dann geht es so wohl doch nicht so gut. :oops:

Komisch ist jetzt, ich hab mit grad mal eine Testanwendung gebaut (nur die Trackbar und ein Button drauf).

Wenn ich das starte dann ist kein Fokusrahmen da, auch nicht beim anklicken (und selbst wenn es da den Fokus hat),
aber sobald die Trackbar nur einmal den Fokus via Tabulator-Taste bekommen hat, ist ab da dieser Rahmen immer sichtbar, wenn de Fokus darauf liegt. :angel:

Es muß also intern irgendwas geben (was ich nicht kenn) welches dafür sorgt, das er mal sichtbar ist und mal nicht, was umgeschaltet wird, sobald z.B. die Tab-Taste ins Spiel kommt.

lbccaleb 12. Mär 2009 12:49

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Vllt könntest mal nen Screenshot machen, denn bei mir ist gar keine Umrandung vorhanden?? :gruebel:

himitsu 12. Mär 2009 12:57

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
bitte

AlexII 12. Mär 2009 13:54

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Also weiß keiner wie man es weg bekommt? :pale:

Sunlight7 12. Mär 2009 14:25

Re: TrackBar Umrandung bzw. Tab entfernen?
 
WS_TABSTOP aus dem Window Style entfernen? :gruebel:

DeddyH 12. Mär 2009 15:37

Re: TrackBar Umrandung bzw. Tab entfernen?
 
Das mit WS_TABSTOP hat bei mir leider nicht funktioniert. Nach ein paar Versuchen (Delphi 5 unter XP SP 3) ist mein jetziger Stand dieser, scheint bisher zu funktionieren, Garantien übernehme ich aber keine:
Delphi-Quellcode:
unit Nix;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TTrackBar = class(ComCtrls.TTrackBar)
  private
    FOldWnd: HWnd;
    procedure WMSetFocus(var Msg: TWMSetFocus);
      message WM_SETFOCUS;
    procedure WMPaint(var Msg: TWMPaint);
      message WM_PAINT;
  end;

  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TTrackBar.WMSetFocus(var Msg: TWMSetFocus);
begin
  inherited;
  FOldWnd := Msg.FocusedWnd;
end;

procedure TTrackBar.WMPaint(var Msg: TWMPaint);
var DC: hDC;
    R: TRect;
begin
  inherited;
  if (GetFocus = self.Handle) and (FOldWnd <> self.Handle) then
    begin
      DC := GetWindowDC(self.Handle);
      if DC <> 0 then
        try
          R := Rect(0,0,self.Width,self.Height);
          DrawFocusRect(DC,R);
          FOldWnd := self.Handle;
        finally
          ReleaseDC(self.Handle,DC);
        end;
    end;
end;

end.


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