Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: Problem mit Darstellung einer CombBox in StringGrid mit "csOwnerDrawFixed"

  Alt 8. Jun 2013, 22:07
Hallo,

der Rest, der da überbleibt hat wohl folgenden Hintergrund: Die minimale Höhe der Combobox und der SpinEdit hängen von der gewählten Schrift bzw. Schriftgröße ab. Eine Combobox mit Style csDropDown / csDropDownList nimmt keine Änderung an der Höhe an. Im Style csOwnerDrawFixed hängt die Höhe von ItemHeight ab. Bei einem SpinEdit ist die Höhe zwar variabel, kann aber nicht die Mindesthöhe unterschreiten.

Szenario 1:
Delphi-Quellcode:
Combobox.Font.Name := 'Tahoma';
Combobox.Font.Size := 8;
Combobox.Style := csDropDownList; // oder csDropDown
hat zur Folge:
Combobox.Height := 21; // zumindest mit meinen Einstellungen

Szenario 2:
Delphi-Quellcode:
Combobox.Font.Name := 'Tahoma';
Combobox.Font.Size := 8;
Combobox.Style := csOwnerDrawFixed;
hat zur Folge:
Combobox.Height := 22; // zumindest mit meinen Einstellungen
Delphi-Quellcode:
SpinEdit.Font.Name := 'Tahoma';
SpinEdit.Font.Size := 8;
SpinEdit.Height := 22; // Minimalhöhe zumindest hier bei mir
Die Höhe ist nicht änderbar, deshalb läuft Dein SetBounds - zumindest was die Höhe anbelangt - ins Leere. Oder: Die Combobox passt mal genau in die Zelle, mal ist sie etwas zu hoch und überdeckt dann auch die Gridline (und/oder mehr); und diese wird anscheinend nicht aktualisiert.
Zitat:
Wie kann ich verhindern, dass noch ein "Rest" übrig bleibt?
Hast Du schon mal versucht das StringGrid zum Neuzeichnen zu zwingen?

Gruß
Volker Zeller
  Mit Zitat antworten Zitat