Seite 1 von 1

[4.20] Fehler bei SelectedFontStyle()

Verfasst: 18.07.2008 19:33
von awegner
FontRequester(...,...,0)
Debug SelectedFontName() ; OK
Debug SelectedFontSize() ; OK
Debug SelectedFontStyle() ; Fehler: Italic -> 768 (und nicht 512), Bold+Italic -> 768 (OK)

Verfasst: 18.07.2008 19:55
von marco2007
Man muß das ganze bitweise mit dem &-Operator testen:

Code: Alles auswählen

FontRequester("Arial",10,0) 
Debug SelectedFontName() ; OK 
Debug SelectedFontSize() ; OK 

If SelectedFontStyle() & #PB_Font_Bold
  Debug "#PB_Font_Bold"
EndIf
If SelectedFontStyle() & #PB_Font_Italic 
  Debug "#PB_Font_Italic"
EndIf  
If SelectedFontStyle() & #PB_Font_Italic And SelectedFontStyle() & #PB_Font_Bold
  Debug "#PB_Font_Bold_Italic"  
EndIf


Freak (oder Fred) hat mal vor kurzem irgendwo (ich glaube, es war irgendetws mit Fileattributte) erwähnt, man solle die Werte ignorieren. Wichtig ist das bitweise abfragen, damit man weiß, was gesetzt ist.

Verfasst: 18.07.2008 21:32
von awegner
Danke für die schnelle Reaktion.
Ich habe inzwischen herausgefunden, dass der von SelectedFontStyle() zurückgegebene Wert auch vom Font abhängt; Beispiel: FontRequester("Tahoma",...) gibt bei Kursiv einen anderen Wert von SelectedFontStyle() als Arial. Das hängt möglicherweise mit den "imitierten" Schriftschnitten zusammen, und da hilft auch bitweises & nicht viel.
Kennt sich da jemand aus?

Verfasst: 18.07.2008 22:01
von marco2007
Hmmmm... Stimmt.
Ich hab`s nur mit Arial getestet.

Ich hab vorher gesehen, Du hast`s im Englischen auch gepostet. Warte mal was Fred sagt.

Verfasst: 18.07.2008 22:08
von awegner
Fred sagt: Fixed

Verfasst: 18.07.2008 22:14
von marco2007
Ah, ok!
Fred hat schon einiges bei 4.20 gefixt. Leider gibt`s keine gefixte Zwischenversion mehr (wenn ich`s richtig verstanden habe).
Es kann sein, daß Du auf 4.30 warten mußt.

Man muss aber auch immer unter http://www.purebasic.com/beta/windows/ nachschauen (wobei angemerkt werden muss, daß man die exe nicht verwenden kann).