Seite 4 von 5
Verfasst: 20.10.2008 20:33
von Kaeru Gaman
hab jetzt keinen bock nen testcode zu schreiben.... dann würden meine Spaghetti Carbonara kalt...
Verfasst: 20.10.2008 20:55
von Fluid Byte
Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?
Verfasst: 20.10.2008 21:03
von ts-soft
Fluid Byte hat geschrieben:Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?
http://tinyurl.com/5ja7ko 
Verfasst: 21.10.2008 12:50
von Fluid Byte
Ich hab' nicht ganz korrekt zitiert ...
Was ich mit "Sicher?" meine ist ob es sich bei den normalen Fensterknöpfen tatsäschlich um Windows Button-Controls handelt. Das sie die Fokus nicht auf sich ziehen ist mir klar. Allerdings selbst wenn es wirklich normale Knöpfchen sind dann wurden sie entsprechend modifiziert. Was schon alleine durch Tatsache klar sein müsste das sie sich grafisch von regulären Buttons unterscheiden (wenn > Classic Look). Also würde das eine Arbeitsersparnis von Null ergeben und man könnte auch gleich ein STATIC-Control benutzen.
Verfasst: 21.10.2008 13:39
von Kaeru Gaman
maukai... gute Argumente.
gibts irgendwelche tricks, wie man ein Control erschaffen kann, was den Buttons in der Leiste in praktisch allem entspricht, nur dass man es ins Fenster selber setzt?
... das ist jetzt aber nur ne reine Interessenfrage.
ursprünglich ging es mir einzig und allein darum, abzuklopfen wie man die Chars aus "Webdings" vernünftig auf Buttons bekommt, damit man sich keinen ab-Imagen muss wenn man mal eigene controls braucht. Veröffentlicht habe ich das auch nur, um die Skinning Frage auszuloten.
Verfasst: 21.10.2008 14:03
von Fluid Byte
Kaeru Gaman hat geschrieben:gibts irgendwelche tricks, wie man ein Control erschaffen kann, was den Buttons in der Leiste in praktisch allem entspricht, nur dass man es ins Fenster selber setzt?
Ja geht, ist aber recht aufwendig wenn mann Classik Look
und XP/Vista Gedöns unterstützen will. Werd' nachher versuchen mal wat zusammenkloppen.
Kaeru Gaman hat geschrieben:ursprünglich ging es mir einzig und allein darum, abzuklopfen wie man die Chars aus "Webdings" vernünftig auf Buttons bekommt, ...
Was bei mir gar nicht funktioniert bzw. ich nie verstanden habe. Soweit ich weiß befinden sich diese Symbole im Schriftsatz "Marlett" und nicht "Webdings".
Verfasst: 21.10.2008 14:16
von Kaeru Gaman
Fluid Byte hat geschrieben:Was bei mir gar nicht funktioniert bzw. ich nie verstanden habe. Soweit ich weiß befinden sich diese Symbole im Schriftsatz "Marlett" und nicht "Webdings".
hat's denn bei dir nicht funktioniert?
die betreffenden Zeichen befinden sich in beiden Fonts unter den selben Codes.
guck auch zur sicherheit mal in die Charmap...
... jetz würd ich mir noch ne möglichkeit wünschen, on-the-fly abzuklopfen,
ob Webdings oder Marlett korrekt geladen werden konnte.
Verfasst: 21.10.2008 14:40
von Fluid Byte
Kaeru Gaman hat geschrieben:hat's denn bei dir nicht funktioniert?
die betreffenden Zeichen befinden sich in beiden Fonts unter den selben Codes.
Auf meinem Arbeitsrechner gehen beide, zuhause aber nur "Marlett". Die Zeichen sind allerdings in beiden enthalten also kann es gut sein das sie monentan einfach deaktiviert ist (Schriftenverwaltungs Software).
Kaeru Gaman hat geschrieben:... jetz würd ich mir noch ne möglichkeit wünschen, on-the-fly abzuklopfen, ob Webdings oder Marlett korrekt geladen werden konnte.
Mit "richtig geladen" beziehst du dich wahrscheinlich auf den User der die Schrift dann mit LoadFont() in PB lädt. Da muss man sich wohl drauf verlassen können das er den Fontnamen richtig schreibt. Du müsstest eher rausfinden ob die Schrift überhaupt installiert ist. Das ist wohl auch mit "richtig geladen" gemeint.
Ist auf jeden Fall nicht besonders kompliziert. Du musst nur die momentan installierten Schriften mit EnumFonts_() oder EnumFontFamilies_() auflisten und prüfen ob "Webdings" oder "Marlett" dabei sind.
Verfasst: 21.10.2008 15:00
von Kaeru Gaman
ok.. immerhin...
ich hätte mir halt für diesen Fall einen etwas aussagekräftigeren Rückgabewert von "LoadFont" gewünscht, oder eine andere Kontrollmöglichkeit.
da diese Routine im Zweifel einen Ersatz-Zeichensatz lädt, kann sie niemals scheitern, also wird niemals "False" zurückliefern.
sie liefert also immer ein Handle zurück, aber keine Info, ob die/der Font gefunden wurde oder nicht.
PS:
Beweis:
Code: Alles auswählen
OpenWindow(0, 0, 0, 300, 100,"Font")
CreateGadgetList(WindowID(0))
result = LoadFont(0, "Geierwalli", 32)
Debug result
TextGadget(0,20,20,260,60, "Geierwalli")
SetGadgetFont(0,FontID(0))
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow
Verfasst: 21.10.2008 20:00
von Fluid Byte
Mir ist gerade aufgefallen das die Darstellung der Symbole der beiden Fonts nicht identisch ist (zumindest bei gleicher Schriftgröße):
Ich denke wir sollten uns auf eine Schriftart beschränken oder gleich ein Image nehmen.