Selbstgemachte Control-Buttons

Für allgemeine Fragen zur Programmierung mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hab jetzt keinen bock nen testcode zu schreiben.... dann würden meine Spaghetti Carbonara kalt...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
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

Beitrag von ts-soft »

Fluid Byte hat geschrieben:Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?
http://tinyurl.com/5ja7ko :mrgreen:
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.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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".
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Mir ist gerade aufgefallen das die Darstellung der Symbole der beiden Fonts nicht identisch ist (zumindest bei gleicher Schriftgröße):

Bild

Ich denke wir sollten uns auf eine Schriftart beschränken oder gleich ein Image nehmen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten