AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Checkbox verändert im XP-Design die Position

Ein Thema von Sourcemaker · begonnen am 7. Sep 2006 · letzter Beitrag vom 7. Sep 2006
Antwort Antwort
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
256 Beiträge
 
Delphi XE5 Professional
 
#1

Checkbox verändert im XP-Design die Position

  Alt 7. Sep 2006, 13:41
Hi,

ich passe gerade ein Projekt an das Windows-XP-Design an, soll heißen ich habe das
XP-Manifest eingebunden und schaue mir alle Masken an und korrigiere eventuelle Fehldarstellungen.

Nun ist mir aufgefallen das sich die Position der Checkbox im XP-Design um 2 Pixel nach links verschiebt.
Das ist in sofern störend da ich Labels und Edits sowie Checkboxen untereinander habe und im klassischen Design mußte man die Checkbox 2 Pixel weiter nach links setzen damit die Buchstaben mit den darüber und darunter liegenden Labels in einer Flucht sind. (Die CheckBox hat Alignment=taLeftJustify)
Das man das machen mußte erachte ich übrigens als Fehler der Vorgänger-Windowsversionen oder der Umsetzung von Delphi.
Nichtsdestotrotz hätte ich gerne im klassischen als auch im XP-Design eine korrekte Darstellung.

Ein Einfall von mir war die Caption der Checkbox wegzunehmen und stattdessen ein Label ordnungsgemäß zu positionieren, nur sehe ich dann nicht mehr das die Checkbox den Focus bekommt.
Zum anderen habe ich die TJvCheckbox probiert aber die verhält sich leider genau wie Originale.

Zuletzt fällt mir nur noch ein festzustellen welches Design eingestellt ist und dann alle Checkboxen der Form zu durchlaufen und die Position entsprechend zu korrigieren.

Wie stellt man das XP-Design eingeschaltet ist fest bzw. welchen anderen Weg gibt es ?

Grüße

Frank
Angehängte Grafiken
Dateityp: bmp clip0001_148.bmp (317,4 KB, 52x aufgerufen)
Frank
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Checkbox verändert im XP-Design die Position

  Alt 7. Sep 2006, 14:08
Vielleicht wäre es am einfachsten, eine checkbox (ohne text) und ein label zu verwenden?
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
256 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Checkbox verändert im XP-Design die Position

  Alt 7. Sep 2006, 14:21
Ein Label kann man nicht über die Checkbox legen da die CheckBox AlwaysStayOnTop ist.
Selbst wenn es gehen würde wäre wieder kein Focus zu erkennen.
Frank
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.682 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Checkbox verändert im XP-Design die Position

  Alt 7. Sep 2006, 15:17
Hi!

Ich habe gerade mal folgendes
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  if not ThemeServices.ThemesEnabled then
    for i := 0 to Pred(ControlCount) do
      if Controls[i] is TCheckBox then
        Controls[i].Left := Controls[i].Left - 2;
end;
ausprobiert und es scheint zu funktionieren.

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
256 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Checkbox verändert im XP-Design die Position

  Alt 7. Sep 2006, 18:01
Danke Uli,

damit geht es:
Delphi-Quellcode:
   if ThemeServices.ThemesEnabled then
   begin
      for i := 0 to Pred(ComponentCount) do
         if Components[i] is TCheckBox then
         begin
            TCheckBox(Components[i]).Left := TCheckBox(Components[i]).Left + 2;
            TCheckBox(Components[i]).Width := TCheckBox(Components[i]).Width - 2;
         end;
   end;
Im Gegensatz zu Deinem Code habe ich statt Controls Components benutzt um die ganze Form abzugrasen.
Außerdem habe ich noch die Breite korrigiert.

Und Unit Themes einbinden nicht vergessen.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf