SetGadgetColor für Vorder- und Hintergrund von Gadgets funktioniert ja schon teilweise.
a) Wünschenswert wäre es aber, wenn Gadgets, wie Checkbox, Option u.a. auch darauf reagieren. Das würde PB runder und benutzerfreundlicher machen.
b) Graue Boxen als Hintergrund von Gadgets sind bei farbigem Hintergrund nicht gerade akttraktiv. Die Möglichkeit, als Hintergrundfarbe transparent wählen zu können, wäre ideal, ist aber nciht vorhanden.
Wer gerne mit der WinAPI arbeitet und es komplizierter mag, wird diese Sachen nicht vermissen, aber für viele andere wären diese Features sicher wichtig.
Die ColorLib von gnozal kenne ich. Leider habe ich i.Z.m. transparent Seiteneffekte festgestellt. Probleme wie unter a) lassen sich damit aber gut lösen.
Transparenz, Hintergrundfarbe bei Gadgets
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
aufgrund von kompatibilität ist sowas nicht möglich.
a) nicht alle Fensterelemente besitzen nativ eine veränderbare hintergrundfarbe.
das Objekt reagiert einfach nicht auf den Veränderten eintrag in seinem Attribut.
das kannst du auch feststellen, wenn du in VB6 z.b. bei einem Button die Eigenschaft
"Hintergrundfarbe" veränderst. im gegensatz zu anderen Gadgets, reagiert ein Button nicht,
auch nicht in einer Microsoft-Entwicklungsumgebung.
wenn du also einen button mit angepasster hintergrundfarbe siehst,
dann ist das ein skinning-trick oder sonstwas, aber keine veränderung seiner grundeigenschaft "Hintergrundfarbe".
b) Transparenz ist erstrecht keine native Objekteigenschaft.
ich habe mich damit noch nicht weitergehend auseinandergesetzt,
aber ich gehe davon aus, dass es sich um eine zusätzliche API-funktion handelt,
die die darstellung manipuliert, nicht die objekteigenschaften.
gerade bei Fensterelementen will PB immer großtmögliche Plattformkompatibilität erreichen.
es widerspräche also seiner philosophie, das ansprechen von zusätzlichen API-Funktionen
unter Win so einzubinden, als sei es eine grundlegende objekteigenschaft.
die grundfunktionen von PB werden stets so gestaltet bleiben, dass sie möglichst einheitlich für alle drei plattformen sind.
natürlich spricht nichts dagegen, für solche grundfunktionen erweiterungen zur verfügung zu stellen.
da solltest du mal in die PBOSL und in das IncludePack und ins CodeArchiv schaun,
ob solche zusatzfunktionen nicht schon ausgiebig programmiert wurden.
a) nicht alle Fensterelemente besitzen nativ eine veränderbare hintergrundfarbe.
das Objekt reagiert einfach nicht auf den Veränderten eintrag in seinem Attribut.
das kannst du auch feststellen, wenn du in VB6 z.b. bei einem Button die Eigenschaft
"Hintergrundfarbe" veränderst. im gegensatz zu anderen Gadgets, reagiert ein Button nicht,
auch nicht in einer Microsoft-Entwicklungsumgebung.
wenn du also einen button mit angepasster hintergrundfarbe siehst,
dann ist das ein skinning-trick oder sonstwas, aber keine veränderung seiner grundeigenschaft "Hintergrundfarbe".
b) Transparenz ist erstrecht keine native Objekteigenschaft.
ich habe mich damit noch nicht weitergehend auseinandergesetzt,
aber ich gehe davon aus, dass es sich um eine zusätzliche API-funktion handelt,
die die darstellung manipuliert, nicht die objekteigenschaften.
gerade bei Fensterelementen will PB immer großtmögliche Plattformkompatibilität erreichen.
es widerspräche also seiner philosophie, das ansprechen von zusätzlichen API-Funktionen
unter Win so einzubinden, als sei es eine grundlegende objekteigenschaft.
die grundfunktionen von PB werden stets so gestaltet bleiben, dass sie möglichst einheitlich für alle drei plattformen sind.
natürlich spricht nichts dagegen, für solche grundfunktionen erweiterungen zur verfügung zu stellen.
da solltest du mal in die PBOSL und in das IncludePack und ins CodeArchiv schaun,
ob solche zusatzfunktionen nicht schon ausgiebig programmiert wurden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ja, das hört sich plausibel an. Das ist zumindest eine Erklärung, die ev. auch erklärt, warum die PureColor-Lib Seiteneffekte zum XP-Skin-Support zeigt.
Da gibt es dann so einige Variationen, wann etwas funktioniert oder nicht. Nicht gerade gut für produktives Arbeiten.
Auf jeden Fall aber danke für die Erklärungen.
Da gibt es dann so einige Variationen, wann etwas funktioniert oder nicht. Nicht gerade gut für produktives Arbeiten.
Auf jeden Fall aber danke für die Erklärungen.
- Olaf
- Beiträge: 117
- Registriert: 20.04.2006 14:51
- Wohnort: 66606 St.Wendel (Niederlinxweiler, Dr.Albert-Schweitzer-Str.9)
- Kontaktdaten:
Teilweise witzige Resultate erhält man aber auch, wenn man Gadgets wie Fenster anspricht. Auf einige Dinge reagieren die:
Aber im Folgenden entsteht auch ganz schön Unfug dadurch:
Code: Alles auswählen
hWin=OpenWindow(0,0,0,200,100,"Test",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(hWin)
ButtonGadget(0,50,25,100,50,"Test",#PB_Window_SystemMenu)
hGad=GadgetID(0)
ShowWindow_(hGad,#SW_MINIMIZE)
Repeat
event=WaitWindowEvent()
Until event=#PB_Event_CloseWindow
Code: Alles auswählen
hWin=OpenWindow(0,0,0,200,100,"Test",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(hWin)
ButtonGadget(0,50,25,100,50,"Test",#PB_Window_WindowCentered)
hGad=GadgetID(0)
ShowWindow_(hGad,#SW_MINIMIZE)
Repeat
event=WaitWindowEvent()
Until event=#PB_Event_CloseWindow
PB 4.xx (Windows & Linux & Mac OS X)
Treffen sich 2 Kurven in der Unendlichkeit. Sagt die eine zur anderen: "Hau ab aus meinem Definitionsbereich oder ich leite dich ab!"
Darauf die andere: "Mach nur! Ich bin die e-Funktion."
Treffen sich 2 Kurven in der Unendlichkeit. Sagt die eine zur anderen: "Hau ab aus meinem Definitionsbereich oder ich leite dich ab!"
Darauf die andere: "Mach nur! Ich bin die e-Funktion."