AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TCombobox -> Height verändert sich nach dem Create

TCombobox -> Height verändert sich nach dem Create

Ein Thema von bernau · begonnen am 26. Apr 2019 · letzter Beitrag vom 26. Apr 2019
Antwort Antwort
Seite 2 von 3     12 3   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 16:26
Zitat:
Ist nur die Frage, welche Funktion ich aufrufen muss, damit ich sofort die korrekte Größe erhalte.
Einen Beitrag höher lesen

gruss
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 16:31
Zitat:
Ähm. Wie schon gesagt. Ich setzte die Höhe gar nicht. Ich möchte ja gerne die 21 haben. Diese wird mir im OnCreate aber nicht gegeben, sondern 25.
Was verstehst du nicht?

FontName = Tahoma
Fontsize = 8

weise der Combo den Font zu und deine Höhe ist 21.
Die höhe kannst du NUR durch das setzen des Fonts beeinflussen.

gruss
Ich verstehe schon was du meinst. Das ändert aber nichts am verhalten.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  fCombobox:=TCombobox.create(Self);
  fCombobox.Parent := self;
  fCombobox.Font := self.Font;
  fCombobox.text := Inttostr(fCombobox.height);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  fCombobox.text := Inttostr(fCombobox.height);
end;
Ich habe im OnCreate den Font der Form zugewiesen. es bleibt aber im OnCreate bei 25. Erst wenn der Button gedrückt wird, dann erhalte ich 21. Zweischenzeitlich wird nichts geändert.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 16:35
Zitat:
Ist nur die Frage, welche Funktion ich aufrufen muss, damit ich sofort die korrekte Größe erhalte.
Einen Beitrag höher lesen

gruss
Probier es doch mal aus. Neutral General kann es nachvollziehen.

Einfach eine Form erzeugen. Doppelclick auf OnCreate. Die Zeilen aus meinem Code einfügen.
Schalter drauf. Doppelcklick. Eine Zeile aus meinen Beispiel einfügen.

Programm starten. In der Combobox steht 25. Schalter drücken. In der Combobox steht 21.

Das ist definitiv ein unlogisches Verhalten.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 16:42
Habe noch mal weiter getestet. Egal welche Fontgröße ich zuweise, solange ich mich im OnCreate befinde, bleibt die Höhe der Combobox bei 25.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 16:43
Habe noch mal weiter getestet. Egal welche Fontgröße ich zuweise, solange ich mich im OnCreate befinde, bleibt die Höhe der Combobox bei 25.
Habe ich.. meine höhe ist 21.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1 := TComboBox.Create(Self);
  ComboBox1.Parent := self;
  ComboBox1.Top := 10;
  ComboBox1.Left := 10;
  ComboBox1.Font := TFont.Create;
  ComboBox1.Font.Name := 'Tahoma';
  ComboBox1.Font.Size := 8;
  ComboBox1.Height := 21;
  ComboBox1.Width := 200;
  ComboBox1.Text := Inttostr(ComboBox1.height);
end;
siehe shot

PS:
Ohne Zuweisung der Höhe!
siehe shot ClientRect

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 17:12
Habe noch mal weiter getestet. Egal welche Fontgröße ich zuweise, solange ich mich im OnCreate befinde, bleibt die Höhe der Combobox bei 25.
Habe ich.. meine höhe ist 21.

gruss
Ich weis nicht ob mein Problem so schwer zu verstehen ist.

Ich will nicht selber die Höhe im OnCreate setzen. Bringt sowiso nichts, weil die Höhe der Combobox nach dem Create die korrekte Größe "21" besitzt. Warum sollte ich die Höhe selber setzen sollen?

Ich will lediglich den korrekten Wert 21 auch im OnCreate auslesen können, damit ich die Comboboxen ordentlich anordnen kann.

Wir reden aneinander vorbei. Aber OK. Danke für deine Hilfe.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 17:16
Zitat:
Ich will nicht selber die Höhe im OnCreate setzen. Bringt sowiso nichts, weil die Höhe der Combobox nach dem Create die korrekte Größe "21" besitzt. Warum sollte ich die Höhe selber setzen sollen?
Siehe mein Edit! Habe ich die höhe gesetzt? Denke mal nicht.

Siehe Shot ClientRect. 2 Beiträge höher

Hier noch ein shot mit einem Font von 10 logischerweise ist dann die Combo 24 Pixel in der höhe.
Man oooh man..

ok bin raus.. weil ich bewiesen habe das es funktioniert!

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 17:18
Halt. Ich dachte der Code im Anhang ist der gleiche, wie im Text, der als Delphicode angegeben ist.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1 := TComboBox.Create(Self);
  ComboBox1.Parent := self;
  ComboBox1.Top := 10;
  ComboBox1.Left := 10;
  ComboBox1.Font := TFont.Create;
  ComboBox1.Font.Name := 'Tahoma';
  ComboBox1.Font.Size := 8;
  ComboBox1.Height := 21;
  ComboBox1.Width := 200;
  ComboBox1.Text := Inttostr(ComboBox1.height);
end;
Dort setzt du die Höhe. Deshalb mein vorheriger Post.

Habe den Code im Pic mir noch mal angeschaut. Der ist anders.

Die Sache mit

winapi.windows.GetClientRect(fCombobox.Handle, rc); Funktioniert.

Prima. Danke dir für deine Mühe.


Edit: Unsere beiden letzten Posts haben sich überschnitten.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (26. Apr 2019 um 17:26 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 17:21
Halt. Ich dachte der Code im Anhang ist der gleiche, wie im Text. Habe ihn mir noch mal angeschaut.

Die sache mit

winapi.windows.GetClientRect(fCombobox.Handle, rc); Funktioniert.

Prima. Danke dir für deine Mühe.


Edit: Unsere beiden letzten Posts haben sich überschnitten.
Kein Problem

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.980 Beiträge
 
Delphi 12 Athens
 
#20

AW: TCombobox -> Height verändert sich nach dem Create

  Alt 26. Apr 2019, 17:24
Es genügt, wenn das Handle erzeugt wird:
Delphi-Quellcode:
  fCombobox:=TCombobox.create(Self);
  fCombobox.Parent := self;
  fCombobox.HandleNeeded;
  fCombobox.text := Inttostr(fCombobox.Height);
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 21:28 Uhr.
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