Ownerdraw ComboBox SLE Höhe ? [erledigt]
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Ownerdraw ComboBox SLE Höhe ? [erledigt]
mir gelingt es nicht das SLE von der ComboBox auf die selbe Höhe wie die Listbox Items zu bringen ...
btw. PDR 6374 Workaround hab ich drin und das funktioniert auch bei den Listbox Items
was übersehe ich btw. PDR 6374 Workaround hab ich drin und das funktioniert auch bei den Listbox Items
Zuletzt geändert von AUGE_OHR am Mo, 05. Feb 2018 23:33, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
Hallo Jimmy,
mit der Methode
oCombobo:sleSize( [<aSize>] )
sollte das möglich sein.
mit der Methode
oCombobo:sleSize( [<aSize>] )
sollte das möglich sein.
Beste Grüße,
Sören
Sören
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
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.
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
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?
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?
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
YUP ...
nun ist es auch Ownerdraw
Code: Alles auswählen
IF BAnd( nState, XBP_DRAWSTATE_COMBOBOXEDIT ) != 0
Problem : aInfo[4] gibt mir "falsche" Werte
das Problem ist übrigens auch mit den Listbox Items aber dagegen hilft ja PDR 6374
gruss by OHR
Jimmy
Jimmy
- BJelinek
- Rekursionen-Architekt
- Beiträge: 218
- Registriert: Sa, 02. Jun 2012 20:57
- Wohnort: 73257 Köngen
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 3 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
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
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
Grüße
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ownerdraw ComboBox SLE Höhe ?
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
Code: Alles auswählen
o:addItem( <cItem> )
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
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
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.
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.
Beste Grüße,
Sören
Sören
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
Ownerdraw
ich bekomme ja von "o:measureItem" die "falschen" Werte in aInfo[4] bei "o:drawItem".
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]
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.
Code: Alles auswählen
oCombo:sleSize( [<aSize>] ) >= <aOldSize>
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.
gruss by OHR
Jimmy
Jimmy