Seite 1 von 1
Ownerdraw ComboBox SLE Höhe ? [erledigt]
Verfasst: So, 04. Feb 2018 15:40
von AUGE_OHR
mir gelingt es nicht das SLE von der ComboBox auf die selbe Höhe wie die Listbox Items zu bringen ...
- ComboBox_height.jpg (65.1 KiB) 6810 mal betrachtet
was übersehe ich
btw. PDR 6374 Workaround hab ich drin und das funktioniert auch bei den Listbox Items
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 12:02
von Sören
Hallo Jimmy,
mit der Methode
oCombobo:sleSize( [<aSize>] )
sollte das möglich sein.
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 19:28
von AUGE_OHR
Sören hat geschrieben: ↑Mo, 05. Feb 2018 12:02
oCombobo:sleSize( [<aSize>] )
sollte das möglich sein.
Win32 - Die Breite des Eingabefeldes einer Combobox wird vom Betriebssystem in Abhängigkeit von der Breite der Combobox vorgegeben und kann nicht verändert werden. Der Wert im Arrayelement <nXSize> im Parameter <aSize> wird unter Windows ignoriert.
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 19:56
von georg
Hallo, Jimmy -
Dein Eingangsbeitrag fragt nach der HÖHE. Dann bekommst Du einen Hinweis, wie es geht, und zitierst plötzlich Micro$oft in Bezug auf die BREITE.
<nXSize> wird ignoriert, es steht da aber nicht, dass <nYSize> für die HÖHE ignoriert wird.
Mal ausprobiert?
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 21:26
von AUGE_OHR
georg hat geschrieben: ↑Mo, 05. Feb 2018 19:56
<nXSize> wird ignoriert, es steht da aber nicht, dass <nYSize> für die HÖHE ignoriert wird.
Mal ausprobiert?
YUP ...
nun ist es auch Ownerdraw
diese Zeile zeigt an das es sich um das SLE handelt.
Problem : aInfo[4] gibt mir "falsche" Werte
das Problem ist übrigens auch mit den Listbox Items aber dagegen hilft ja PDR 6374
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 22:22
von BJelinek
Hallo Jimmy,
ich programmiere nicht in GUI, aber mal eine Frage, so aus Neugier ?
Hat man die Probleme, wie Du sie hast, auch in der Xbase++ 2.0 oder sind die da behoben
Re: Ownerdraw ComboBox SLE Höhe ?
Verfasst: Mo, 05. Feb 2018 23:18
von AUGE_OHR
BJelinek hat geschrieben: ↑Mo, 05. Feb 2018 22:22
Hat man die Probleme, wie Du sie hast, auch in der Xbase++ 2.0 oder sind die da behoben
es gibt aber immer wieder im Help File den Hinweis das bestimmte Sachen von Windows verwaltet werden.
andererseits ist es ja abhängig von Xbase++ welche Methoden / Property die CLASS uns anbietet.
wenn man sich die Windows API der Controls, von denen die XbParts abstammen, genauer ansieht so wird mal entdecken
das uns Alaska weder alle 26 Controls noch "alle" Möglichkeiten anbietet.
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
aus dem Grund habe ich meine eigenen "native" Controls geschrieben die in der DXE LIB verfügbar sind.
---
Xbase++ bietet mit Ownerdraw die Möglichkeit die "Ausgabe" selbst zu gestalten.
man kann eine Listbox/ComboBox mittels
aber nur einen String zuweisen.
da ich aber auch ein Icon haben wollte geht das eben nur mit Ownerdraw.
nun gibt es ja ein Workaround für PDR 6374 der funktioniert.
es scheint nur so das dabei nur das Listbox/Item Problem behoben wurde aber nicht die des SLE
ob der Workaround in der v2.x "eingebaut" ist/wird kann ich nicht sagen da ich die v2.x nicht unterstütze
... es könnte auch sein das man mit CCS / HtmlLayout nun solche Sachen in v2.x machen kann/soll.
dabei "könnten" natürlich neue Problem auftauchen
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
Verfasst: Mo, 05. Feb 2018 23:34
von AUGE_OHR
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
Verfasst: Di, 06. Feb 2018 18:03
von Sören
Hallo Jimmy,
natürlich kann man mit der Methode :sleSize() den SLE-Teil einer Combobox in der Höhe (nicht in der Breite) verändern. Man benötigt dafür keine WINAPI-Aufrufe, wie du sie in deinem anderen Thread aufzeigst.
Ich habe es gerade noch einmal ausprobiert - und es funktioniert. Allerdings verwende ich die aktuelle Xbase++ - Version.
Da du offensichtlich eine 9 Jahre alte Xbase-Version benutzt, ist es natürlich möglich, dass es bei dir nicht funktioniert.
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
Verfasst: Di, 06. Feb 2018 18:45
von AUGE_OHR
Sören hat geschrieben: ↑Di, 06. Feb 2018 18:03
Ich habe es gerade noch einmal ausprobiert - und es funktioniert.
Ownerdraw
ich bekomme ja von "o:measureItem" die "falschen" Werte in aInfo[4] bei "o:drawItem".
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
Verfasst: Mi, 07. Feb 2018 1:44
von AUGE_OHR
Sören hat Recht
ich habe es nochmal ausprobiert und nun geht es
Pbuild fordert "normal" ja nur inkrementelles linken. ein /G, dann auch ohne DEBUG, ist nur für das Release vorgesehen.
nun hab ich öfters das Gefühl als wenn er die Änderung noch nicht durchführt ... erst wenn ich die OBJ,DLL,LIB,EXE lösche oder /G
egal Hauptsache es funktioniert so wie ich es haben will,
DANKE Sören
p.s. die Breite der Combobox kann man zwar nicht ändern aber die API Function von Günter Beyes kann die Listbox Gross definieren.