Bold in ListBox gesetzt aber nicht angezeigt

Hallo,

ich habe bei der Belüftung einer Listbox für eine Zelle cellbold gesetzt. Es wird mir aber einfach nicht angezeigt.

[quote] L.addrow “”
Zeile=L.LastIndex
L.cell(Zeile,1)=TextSumme
L.cell(Zeile,2)=format(SummeJahr,FormatZahlNegativ)
L.cell(Zeile,3)=format(SummeSechsMonat,FormatZahlNegativ)
L.cell(Zeile,4)=format(SummeLetzterMonat,FormatZahlNegativ)
L.cell(Zeile,5)=format(SummeAktMonat,FormatZahlNegativ)
L.cellbold(Zeile,1)=true
L.cellbold(Zeile,2)=true
L.cellbold(Zeile,3)=true
L.cellbold(Zeile,4)=true
L.cellbold(Zeile,5)=true[/quote]

ich nutze eine BasisKlasse in der ich folgendes stehen habe im CellTextPaint Event

[quote]
If FillingProzess then
return true
end if

If me.selected(row) then //If this cell is on a selected row make the foreground black
g.foreColor=SCHWARZ
End
if PrefDic.value(“PrefNegativRot”) then
if me.cell(row,column).cdbl<0 then
g.foreColor=ROT
elseif me.cell(row,column).cdbl>0 AND strcomp(left(me.cell(row,column),1),"+",0)=0 then
g.foreColor=BLAU
end if
end if

return CellTextPaint(g,row,column)[/quote]

die 3 folgenden Zeilen, hatte ich mal testweise eingebaut

[quote] if me.CellBold(row,column)=true then
g.Bold=true
end if[/quote]

haben aber nichts gebracht…
Die Zahlen werden Rot und Blau und Schwarz angezeigt nur FETT fehlt

wie bekomme ich das zum Laufen? Unter RB funktionierte der Code ohne Probleme und ohne die 3 Zeilen.

g.Bold ist doch nur wirksam wenn du mit g.DrawString arbeitest

vielleicht liegt der Fehler in CellTextPaint deiner BasisKlasse

das obige ist der CellTextPaint der BasisKlasse. Die ListBox in die das geschrieben werden soll, hat keinen CellTextPaint Event. Ich bin irritiert, weil er die Farben ja setzt und richtig darstellt, aber eben das BOLD nicht.

vielleicht hilft auch
L.InvalidateCell(-1,-1)
nach dem Befüllen der ListBox

Welchen Font verwendest du?

Manche Fonts sind in Wirklichkeit Fontfamilien und haben eine eigene Version für fett. Die Normalversion auf fett zu setzen bringt gar nichts.

ich habe Helvetica Größe 11 als Schriftart…

Du kannst es ja testen indem Du mal “System” als Font nimmst.

Liegt dann nicht am Font (hab es grad ausprobiert)

g.Bold = True Return False
in CellTextPaint funktioniert bei mir problemlos.

[quote=198524:@Claudius Sailer]ich nutze eine BasisKlasse in der ich folgendes stehen habe im CellTextPaint Event

return CellTextPaint(g,row,column)[/quote]
Was bedeutet diese letzte Zeile? Warum retournierst Du nicht einfach False?

Oder hast Du einen Event CellTextPaint deklariert in dieser Klasse (ohne die letzten zwei parameter x As Integer, y As Integer)? Andererseits hast Du geschrieben:[quote=198529:@Claudius Sailer]Die ListBox in die das geschrieben werden soll, hat keinen CellTextPaint Event.[/quote]… was dann eher dagegenspricht.

So oder so, ich vermute, dass in diesem Event oder in dieser Methode, die Du in der letzten Zeile von CellTextPaint aufrufst, g.Bold = False steht.

Ich habe jetzt verschiedenes ausprobiert es will einfach nicht klappen…

Ich habe in einer Funktion bisher folgendes stehen

[quote] L.addrow “”
BoldZeile=L.LastIndex
L.cell(BoldZeile,1)=TextSumme
L.cell(BoldZeile,2)=format(SummeJahr,FormatZahlNegativ)
L.cell(BoldZeile,3)=format(SummeSechsMonat,FormatZahlNegativ)
L.cell(BoldZeile,4)=format(SummeLetzterMonat,FormatZahlNegativ)
L.cell(BoldZeile,5)=format(SummeAktMonat,FormatZahlNegativ)
L.cellbold(BoldZeile,1)=true
L.cellbold(BoldZeile,2)=true
L.cellbold(BoldZeile,3)=true
L.cellbold(BoldZeile,4)=true
L.cellbold(BoldZeile,5)=true[/quote]

das hat unter RB super funktioniert. Unter Xojo eben nicht mehr

nun habe ich einfach mal so folgendes gemacht

[quote] L.addrow “”
BoldZeile=L.LastIndex
L.cell(BoldZeile,1)=TextSumme
L.cell(BoldZeile,2)=format(SummeJahr,FormatZahlNegativ)
L.cell(BoldZeile,3)=format(SummeSechsMonat,FormatZahlNegativ)
L.cell(BoldZeile,4)=format(SummeLetzterMonat,FormatZahlNegativ)
L.cell(BoldZeile,5)=format(SummeAktMonat,FormatZahlNegativ)

L.CellUnderline(BoldZeile,1)=true

L.cellbold(BoldZeile,1)=true
L.cellbold(BoldZeile,2)=true
L.cellbold(BoldZeile,3)=true
L.cellbold(BoldZeile,4)=true
L.cellbold(BoldZeile,5)=true[/quote]

und witzigerweise wird die Erste Zelle tatschlich unterstrichen.
Wie kann das sein, dass “unterstrichen” umgesetzt wird und “cellbold” nicht???

Im Debugmode wird mir Bold auch als true angezeigt eben nur nicht dargestellt.

Wird der Font vielleicht irgendwo im Code umgestellt auf eine FontFamilie?

Such mal nach .TextFont

na toll… nun tuts. Habe von Helvetica auf Helvetica New umgestellt und nun wird es Bold angezeigt!!!

Stell mal zurück auf Helvetica, da sollte es auch tun.

Kann sein daß was im Projekt korrumpiert war.

hmmm
zurück gestellt auf Helvetica --> Kein Bold
wieder auf Helvetica New --> wieder Bold da

So weise ich in einer globalen Funktion den Font den ListBoxen zu…

[quote] Dim i, Ende as integer
//Fonts zuweisen
dim c as control
Ende=w.controlcount-1
for i=0 to Ende
c=w.control(i)
if c isa ListBox then
ListBox©.textFont=PrefDic.value(“FontListen”)
ListBox©.textSize=PrefDic.value(“FontListenSize”)
end if
next[/quote]