OS2.org Site Index - Feedback - Impressum
Sprachauswahl / Choose your Language News Software Hardware Projekte Forum Tipps Links Verschiedenes
Editorial Diskussion HelpDesk Umfrage
[Forum]
in nach (Erweiterte Suche)
[Forum]
( Archiv ) ( Neues Thema )

( Zeige die Threadübersicht ) ( Zur Startübersicht )
04.08.2001
Wer hat ein REXX-Script ... (von: svobi, 09:21:58) ^
... mit dem man alle Icons, systemweit in einem Durchlauf, standardmaessig auf "KLEIN" setzen kann / koennte.

Sinngemaess eine Erweiterung der Eigenschaften / Properties, TAB ??? / View unten links: Icon Display ?

Meine Idee:
Standard waeren in meinem System alle Icons immer "KLEIN" und nur ganz selektiv wuerde ich diese auf "GROSS" setzen.
Damit ist einerseits eine bessere Uebersicht gegeben, weil mehr angezeigt wird ...
... andrerseits sind andere, aktiver benoetigt, groesser und besser sichtbar.
[ Leser: 134 ]

Re: Wer hat ein REXX-Script ... (von: Andreas Schnellbacher, 11:34:28)
Ach so, Du meinst die Eigenschaft von Ordnern

ICONVIEW=style1[,style2...]
This sets icon view to the specified styles. Possible values are:
FLOWED NOGRID INVISIBLE NONFLOWED MINI NORMAL
The default value is NOGRID,NORMAL
These settings correspond to the "Icon view" page in a folder's settings notebook.
[aus: xfldr001.inf]

Zum Setzen von ICONVIEW=MINI ist mir leider keine Moeglichkeit bekannt, wie man das zentral einstellt. Deshalb muss man diese Einstellung bei jedem Ordner ausfuehren, wodurch die OS2.INI auch groesser wird.

Zum Zuruecksetzen, wenn bei Dir ICONVIEW=MINI ist, waere es sinnvoller ICONVIEW=DEFAULT zu setzen. Das geht bei mir, obwohl es in xfldr001.inf nicht dokumentiert ist. Evtl. muss man vorher XWorkplace installieren.

Mit SysFileTree kannst Du alle Ordner suchen, die in ein bestimmtes Schema passen und mit SysSetObjectData diese Einstellungen setzen:

/*~REXX~*/

call~RxFuncAdd~'SysLoadFuncs',~'RexxUtil',~'SysLoadFuncs'
call~SysLoadFuncs

Action~=~1~~/*~0/1~~0~=~Zuruecksetzen,~1~=~Setzen~*/
SubDirs~=~1~~/*~0/1~*/

/*~Von~Kommata~getrennte~Liste,~welche~Ordner~bearbeitet~werden~sollen~*/
SpecList~=~'e:os2*,~e:mptn*,~f:*,~g:*'

rest~=~SpecList
do~while~rest~<>~''
~~parse~var~rest~next~','~rest
~~next~=~strip(next)
~~OptionString~=~'DO'
~~if~SubDirs~=~1 then
~~~~OptionString~=~OptionString || 'S'
~~call~SysFileTree~next,~'Found.',~OptionString
~~do~i~=~1~to~Found.0
~~~~call~MakeSettings~Found.i
~~end~/*~do~i~*/
end~/*~do~while~rest~*/

return

MakeSettings:
~~if~Action~=~1~then
~~~~rc~=~SysSetObjectData(~arg(1),~'ICONVIEW=MINI;'~)
~~else
~~~~rc~=~SysSetObjectData(~arg(1),~'ICONVIEW=DEFAULT;'~)
~~if~rc~=~1~then
~~~~say~'OK~~'arg(1)
~~else
~~~~say~'Error~~'arg(1)
~~return


Zwar nicht getestet, aber sollte laufen, vorher '~' durch ' ' ersetzen.

Re: Wer hat ein REXX-Script ... (von: Frank, 19:13:25)
Hallo,

in diesem Zusammmenhang:
ist es möglich ein Systemicon durch ein anderes auszutauschen (zB. das Ordner-Icon)? Ich meine damit nicht, jeden Ordner mit einem neuen icon zu versehen, sondern generell ein anderes Systemicon zu verwenden, das dann auch von anderen Programmen aufgerufen bzw. benutzt werden kann.

Re: Die Icons ... (von: svobi, 20:34:39)
... sind, soviel ich weiss, frei waehlbar.

Z.B. wenn Du Dein PGM "FRANK.exe" heisst und Du im gleichen Ordner ein ".ico" hast werden die so automatisch verknuepft ...
... andrerseits, wenn dieses Icon Dir aber nicht gefaellt, so kannst Du es entweder ersetzen oder in den Eigenschaften oder Properties ersetzen oder veraendern.

Dein "das dann auch von anderen Programmen ..." verstehe ich urgendwie nicht ganz !?

Kannst Du das genauer beschreiben ?

05.08.2001
Re: Die Icons ... (von: Frank, 02:41:20)
Hallo Svobi,

> Z.B. wenn Du Dein PGM "FRANK.exe" heisst und Du im gleichen Ordner ein
> ".ico" hast werden die so automatisch verknuepft

Ja, das ist richtig.

> Dein "das dann auch von anderen Programmen ..." verstehe ich urgendwie
> nicht ganz !?

Sorry - da habe ich wphl etwas unglücklich ausgedrückt, hier mal eine ausführlichere Beschreibung meines Anliegens:

Es gibt bestimmte Standard-Icons, die vom OS bereitgestellt werden, die dann zB. auch über eine Nummer aus einer Entwicklungsumgebung wie Vispro-Rexx aufgerufen werden können. Die Icons sind nicht als *.ico-Files verfügbar, und deshalb können sie nicht so einfach ausgetauscht werden.
Da gibt es zB.:

1 Arrow
2 Text
3 Wait
4 Size
5 Move
6 Size North-West or South-East
7 Size North-East or South-West
8 Size West to East
9 Size North to South
10 Application program icon
11 Icon information
12 Icon question
13 Icon error
14 Icon warning
18 Illegal
19 File
20 Folder
21 Multi-file
22 Program
1 Arrow
2 Text
3 Wait
4 Size
5 Move
6 Size North-West or South-East
7 Size North-East or South-West
8 Size West to East
9 Size North to South
10 Application program icon
11 Icon information
12 Icon question
13 Icon error
14 Icon warning
18 Illegal
19 File
20 Folder
21 Multi-file
22 Program

Wenn ich jetzt in Vispro-Rexx eine Systemicon "20" in einen Container lade, dann wird dort ein Foldericon dargestellt (das meine ich mit Zugriff von anderen Programmen). Und wenn zB. eCs andere Systemicons benutzt als Warp 4, dann würden die Symbole bei meinem Programm unter eCs anders aussehen als unter Warp4 (da Du auch Warp 3 hattest: Du erinnerst Dich sicher das die Folder dort noch zweidimensional waren?), da die Vorgaben des Systems benutzt werden. Wie man diese Vorgabe verändert wäre interessant - nicht nur für Programmierer (zB. um alle Ordner-Icons standardmäßig zu verändern, ohne jedes einzelne zu manipulieren).


mfG

Frank

Re: Ich denke, diese speziellen Icons ... (von: svobi, 07:49:58)
... wirst Du in eine separate Bibliothek oder Library legen muessen, damit hier kein Chaos entsteht.

Ich habe zuuu lange nicht mehr programmiert um hier raten zu koennen ;-(
Sorry !

Re: Die Icons ... (von: Andreas Schnellbacher, 12:57:29)
> Es gibt bestimmte Standard-Icons, die vom OS bereitgestellt werden...
> Wie man diese Vorgabe verändert wäre interessant - nicht nur für
> Programmierer (z.B. um alle Ordner-Icons standardmäßig zu verändern,
> ohne jedes einzelne zu manipulieren).

Da gibt's 2 Moeglichkeiten, aber REXX bringt's hier nicht:

1) Die DLL patchen (Die Ordner-Icons liegen z.B. auf PMWP.DLL:6 und PMWP.DLL:26)
Das muesste mit resmgr gehen (vgl. hischgct, hier werden Controls gepatcht).

2) Eine neue Klasse schreiben, die die andere subclassed. Oder gleich XWorkplace nehmen.

( Zeige die Threadübersicht ) [ Version zum Drucken ] ( Zur Startübersicht )

Datum Thema
08.01.2017 *

*

Name: * eMail: Benachrichtigung

Mit * markierte Felder müssen ausgefüllt werden !


php.net OpenIT © 1998-2017 by WebTeam OS2.org