Hallo!
Eines vorweg: Ich benutze noch 3.94, hier ist mir auch der Fehler aufgefallen, kann mir aber gut vorstellen, dass der Fehler in 4.00 noch schlummert. Auch wenns ein bisshcne spät dafür ist: Besser spät als nie. (Hoffe, ab das richtige Subforum erwischt.)
Also, der Bug ist folgender: Ich füge einem ListViewGadget() so viele Einträge hinzu wie möglich, ohne, dass schon Scrollbalken erscheinen. Dann setze ich mittels SetGadgetFont() die Schriftart, bzw. -größe höher.
In meinem Programm habe ich von der Windowsstandardschriftart (XP-Style) auf Arial, Größe 11 gewechselt.
Der Bug: Ein Eintrag war "verschwunden". Die größere Schriftart führt dazu, dass eigentlich Scrollbalken erscheinen müssten, die nur kommen, wenn ich einen Eintrag anklicke und mit den Pfeiltasten ganz runterblättere.
Ich habe es auch schon mit InvalidateRect_() und UpdateWindow_() probiert (obwohl letzteres bei mir ja sowieso nie funktioniert), aber nichts hilft.
Die einzige Lösung ist: Erst die Schriftart ändern, dann die Items dem ListViewGadget() hinzufügen und es erscheinen wie gewünscht die Scrollbalken.
ListViewGadet() und SetGadgetFont() vertragen sich nicht
ListViewGadet() und SetGadgetFont() vertragen sich nicht
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> Die einzige Lösung ist: Erst die Schriftart ändern
So ist es auch üblich. Man stellt erst die Schrift ein
So ist es auch üblich. Man stellt erst die Schrift ein

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

OK, selbst wenn. Was mach ich denn, wenn ich dem Benutzer die Möglichkeit geben will, die Schriftart zur Laufzeit des Programms z ändern? Dann geschieht das zwangsläufig nachträglich.
So oder so, ich empfinge diesals ein Fehler/Bug. Er ist zwar lösbar, aber unangenehm. Ich fordere hier ja keinen auf, sofort etwas dagegen zu unternehmen, ich hoffe nur, der Fehler wird vielleicht doch behoben.
So oder so, ich empfinge diesals ein Fehler/Bug. Er ist zwar lösbar, aber unangenehm. Ich fordere hier ja keinen auf, sofort etwas dagegen zu unternehmen, ich hoffe nur, der Fehler wird vielleicht doch behoben.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
selbst, wenn es ein Fehler sein sollte: Geh nicht davon aus, dass nochAND51 hat geschrieben:Ich fordere hier ja keinen auf, sofort etwas dagegen zu unternehmen, ich hoffe nur, der Fehler wird vielleicht doch behoben.
irgendwas an der V3.94 geändert wird. Höchste Zeit also, mal endlich auf die
4.0 umzusteigen.
Grüße ... Kiffi
a²+b²=mc²
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
evtl. ist es kein PB-Bug, sondern eine WIN-API verhaltensweise.
probier als workaround mal direkt nach dem ändern der schriftart den inhalt erneut einzufügen.
also, analog zu SetGadgetText(GetGadgetText())
PS: moin, Kiffi, auch schon auf Deck.
probier als workaround mal direkt nach dem ändern der schriftart den inhalt erneut einzufügen.
also, analog zu SetGadgetText(GetGadgetText())
PS: moin, Kiffi, auch schon auf Deck.

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Um Gottes Willen nein! Mir ist schon klar, dass die Version 3.94 depreciated ist.Kiffi hat geschrieben:Geh nicht davon aus, dass noch
irgendwas an der V3.94 geändert wird.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End