Ownerdraw ComboBox SLE Höhe ? [erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Ownerdraw ComboBox SLE Höhe ? [erledigt]

Beitrag von AUGE_OHR »

mir gelingt es nicht das SLE von der ComboBox auf die selbe Höhe wie die Listbox Items zu bringen ... :banghead:
ComboBox_height.jpg
ComboBox_height.jpg (65.1 KiB) 6633 mal betrachtet
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
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Re: Ownerdraw ComboBox SLE Höhe ?

Beitrag von Sören »

Hallo Jimmy,

mit der Methode

oCombobo:sleSize( [<aSize>] )

sollte das möglich sein.
Beste Grüße,
Sören
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ?

Beitrag 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.
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Ownerdraw ComboBox SLE Höhe ?

Beitrag 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?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ?

Beitrag 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

Code: Alles auswählen

IF BAnd( nState, XBP_DRAWSTATE_COMBOBOXEDIT ) != 0
diese Zeile zeigt an das es sich um das SLE handelt.
Problem : aInfo[4] gibt mir "falsche" Werte :banghead:

das Problem ist übrigens auch mit den Listbox Items aber dagegen hilft ja PDR 6374
gruss by OHR
Jimmy
Benutzeravatar
BJelinek
Rekursionen-Architekt
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 ?

Beitrag 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 :?:
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ?

Beitrag 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

Code: Alles auswählen

o:addItem( <cItem> ) 
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 :shock:

ob der Workaround in der v2.x "eingebaut" ist/wird kann ich nicht sagen da ich die v2.x nicht unterstütze [-X

... 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 :roll:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]

Beitrag von AUGE_OHR »

gruss by OHR
Jimmy
Sören
Rekursionen-Architekt
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]

Beitrag 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.
Beste Grüße,
Sören
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]

Beitrag 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".
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Ownerdraw ComboBox SLE Höhe ? [erledigt]

Beitrag von AUGE_OHR »

Sören hat Recht :!:

Code: Alles auswählen

   oCombo:sleSize( [<aSize>] ) >= <aOldSize> 
ich habe es nochmal ausprobiert und nun geht es :shock:

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 =D>

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
Antworten