Selbstgemachte Control-Buttons
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?
Windows 10 Pro, 64-Bit / Outtakes | Derek
- 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
http://tinyurl.com/5ja7koFluid Byte hat geschrieben:Na' das wolln' wa' nicht riskieren aber gibst dazu nicht 'nen MSDN Artikel?

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.

- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
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.
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
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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.
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.
Der Weise weiß, dass er ein Narr ist.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
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: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?
Was bei mir gar nicht funktioniert bzw. ich nie verstanden habe. Soweit ich weiß befinden sich diese Symbole im Schriftsatz "Marlett" und nicht "Webdings".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, ...
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
hat's denn bei dir nicht funktioniert?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".
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.
Der Weise weiß, dass er ein Narr ist.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
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:hat's denn bei dir nicht funktioniert?
die betreffenden Zeichen befinden sich in beiden Fonts unter den selben Codes.
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.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.
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
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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:
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.
Der Weise weiß, dass er ein Narr ist.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
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.

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