Umgang mit der Color-Palette

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Antworten
Benutzeravatar
DonLucio
Beiträge: 958
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Umgang mit der Color-Palette

Beitrag von DonLucio »

Zu jeder OS/2- (Arca- etc.) Installation gehört bekanntlich ein Objekt namens "Mixed Color Palette" (im Unterschied zu "Solid Color Palette"). Ich kann da drauf klicken, es öffnet sich ein Paletten-Fenster, aus dem ich beliebige Farben auswählen kann (per Drag-and-Drop).

Nun habe ich versucht, dieses Objekt mittels eines Rexx-Befehls zu öffnen:
ret = SysOpenObject("WP_MIXED_COLOR_PALETTE", "OPEN=DEFAULT;");

Klappt nicht. Ich habe es mit "-" statt "_" versucht, auch ohne jeden Bindestrich, auch ohne "WP_". Das Object läßt sich nicht öffnen. Per Maus-Doppelklick aber schon.

Mit dem o.a. Befehl kann ich z.B. die Systemuhr öffnen ("WP_CLOCK"). Warum klappt das nicht mit der Palette?

Danke,
Lutz W.
Benutzeravatar
LotharS
Beiträge: 970
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

ret = SysOpenObject("<256Color_Template>", "PALETTE",1);
Benutzeravatar
DonLucio
Beiträge: 958
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

LotharS hat geschrieben: Do 13. Apr 2023, 17:06 ret = SysOpenObject("<256Color_Template>", "PALETTE",1);
Tut leider nicht.

Ich habe für "<256Color_Template>" eingesetzt: "WP_MIXED_COLOR_PALETTE":

Also:
ret = SysOpenObject("<WP_MIXED_COLOR_PALETTE>", "PALETTE",1);

Hab's auch ohne "<>" versucht:
ret = SysOpenObject("WP_MIXED_COLOR_PALETTE", "PALETTE",1);

oder:
ret = SysOpenObject("MIXED_COLOR_PALETTE", "PALETTE",1);

Funzt alles nicht :-(
Benutzeravatar
LotharS
Beiträge: 970
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

DonLucio hat geschrieben: Do 13. Apr 2023, 17:41 Tut leider nicht.
Ich habe für "<256Color_Template>" eingesetzt: "WP_MIXED_COLOR_PALETTE":
Hier mein kompletter Test, tut.

Code: Alles auswählen

/* Rexx   */
parse arg
rc = RxFuncAdd('SysLoadFuncs','REXXUTIL','SysLoadFuncs')
call SysLoadFuncs
ret = SysOpenObject("<256Color_Template>", "PALETTE",1);
exit
Die Object-Bezeichnung habe ich mit Unimaint unter PM_Workplace:Location ganz oben gefunden (eCS, ArcaOS).
Oder aus "INI.RC": <WP_HIRESCLRPAL>. Tut hier ebenfalls.
Benutzeravatar
DonLucio
Beiträge: 958
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

LotharS hat geschrieben: Do 13. Apr 2023, 17:06 ret = SysOpenObject("<256Color_Template>", "PALETTE",1);
Bingo!

Tut jetzt auch bei mir!

Ich hatte deine Angebabe "<256Color_Template>" so verstanden, dass ich zwischen die "<...>" den Namen meines Paletten-Objekts eingeben sollte. Dass das Objekt exakt so "<256Color_Template>" heißt - auf die Idee bin ich nicht gekommen.

Also vielen Dank und Respekt für deine Findigkeit, in der OS2.INI nachzuschauen. :P

Gruß,
Lutz W.
Benutzeravatar
LotharS
Beiträge: 970
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

DonLucio hat geschrieben: Do 13. Apr 2023, 18:55 Also vielen Dank und Respekt für deine Findigkeit, in der OS2.INI nachzuschauen. :P
Dort liegen die WPS-Objekte halt :idea: Auf dem Desktop werden nur Bildchen angezeigt, allerdings zauberfähige...

Wenn ich Dich richtig verstanden habe, wolltest Du die Palette unterhalb des Ordners "System Setup" öffnen; dieses Objekt lautet <WP_HIRESCLRPAL> und würde es lieber nehmen. Das <256Color_Template> ist das Objekt im "Templates"-Ordner, war bloß in der OS2.INI schneller zu finden :)

Findiger lässt sich in der "INI.RC" suchen, wonach ja eine frische OS2.INI gebaut wird (notfalls auch bauen lässt). Darin recht versteckt <WP_HIRESCLRPAL> bzw. <WP_LORESCLRPAL>.
Benutzeravatar
DonLucio
Beiträge: 958
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

LotharS hat geschrieben: Fr 14. Apr 2023, 09:49 Wenn ich Dich richtig verstanden habe, wolltest Du die Palette unterhalb des Ordners "System Setup" öffnen; dieses Objekt lautet <WP_HIRESCLRPAL>
Ja, im Unterordner "Appearance".

LotharS hat geschrieben: Fr 14. Apr 2023, 09:49 Das <256Color_Template> ist das Objekt im "Templates"-Ordner
Die Verwendung dieses Objekts hat aber bei mir durchaus zum gewünschten Ergebnis geführt: Die 24-Bit-Palette wurde geöffnet.

Was mich insofern überrascht, als der Name "256color..." suggeriert, dass die Palette nur 8-Bit-Farben darstellt. Ist aber nicht so. "Meine" Palette ist die gleiche, wie die im "Appearance"-Ordner enthaltene.

Mirakel, Mirakel: Und wenn ich diese, "meine" Palette editiere, also bei einem Farbwert die RGB-Werte verändere, bleibt diese Farbänderung erhalten. Aber nur in der "<256color_Template>". Die Palette im "Appearance-Ordner ist immer noch die alte.

Also hat offenbar mein SysOpenObject() nur ein Paletten-Objekt instanziert? Und habe ich jetzt das Template modifiziert?

Egal. Ich hab' was ich wollte :-)

Nochmal vielen Dank.

Lutz W.
Benutzeravatar
LotharS
Beiträge: 970
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

DonLucio hat geschrieben: Fr 14. Apr 2023, 16:36 Was mich insofern überrascht, als der Name "256color..." suggeriert, dass die Palette nur 8-Bit-Farben darstellt. Ist aber nicht so. "Meine" Palette ist die gleiche, wie die im "Appearance"-Ordner enthaltene.
Ich hab in der Mixed-Palette 16x16 bunte Rechtecke gezählt, die andere hat hier 2x8. :P
Mirakel, Mirakel: Und wenn ich diese, "meine" Palette editiere, also bei einem Farbwert die RGB-Werte verändere, bleibt diese Farbänderung erhalten. Aber nur in der "<256color_Template>". Die Palette im "Appearance-Ordner ist immer noch die alte.
Schrub ich doch vorhin, nimm das andere Objekt (<WP_HIRESCLRPAL>). Klicke rechts auf die Palette in Appearance, unten "Details..."...; genauso im Templates-Ordner. :ugeek:
Du hast das Template verändert, kannst ja ein frisches weiteres aus dem Original erzeugen (Kopiere Paletten-Objekt, Properties, Haken bei Template...)
Benutzeravatar
DonLucio
Beiträge: 958
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

LotharS hat geschrieben: Fr 14. Apr 2023, 18:20... nimm das andere Objekt (<WP_HIRESCLRPAL>). Klicke rechts auf die Palette in Appearance, unten "Details..."...; genauso im Templates-Ordner. :ugeek:
Du hast das Template verändert, kannst ja ein frisches weiteres aus dem Original erzeugen (Kopiere Paletten-Objekt, Properties, Haken bei Template...)
Danke, das hat mir sehr geholfen. Verstehe jetzt einiges besser.

Gruß,
Lutz W.
Antworten