![]() |
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? |
Re: TrackBar Umrandung bzw. Tab entfernen?
Kann mir keiner was sagen? :gruebel:
|
Re: TrackBar Umrandung bzw. Tab entfernen?
die Trackbar DEselektieren bzw. was anderes selektieren?
|
Re: TrackBar Umrandung bzw. Tab entfernen?
Egal was, Hauptsache die TrackBar wird nicht beim schieben des Schiebers selektiert.
|
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. |
Re: TrackBar Umrandung bzw. Tab entfernen?
Vllt könntest mal nen Screenshot machen, denn bei mir ist gar keine Umrandung vorhanden?? :gruebel:
|
Re: TrackBar Umrandung bzw. Tab entfernen?
Liste der Anhänge anzeigen (Anzahl: 1)
bitte
|
Re: TrackBar Umrandung bzw. Tab entfernen?
Also weiß keiner wie man es weg bekommt? :pale:
|
Re: TrackBar Umrandung bzw. Tab entfernen?
WS_TABSTOP aus dem Window Style entfernen? :gruebel:
|
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 04:12 Uhr. |
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