Welcome to OS2.GURU site! (eComStation.RU)

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:
ru · en · de · es · it · pt · cz · pl · fr telegram

Send message

telegram

+7-981-8529467 (St.Petersburg),
WhatsUp, Telegram

telegram

t.me/os2_guru

OS/2 is a greatly different operating system for PC (ArcaOS, eComStation, IBM OS/2 Warp)
Applications, news, reviews, support of users, hardware, questions and answers.

Buy eCoSoft
shareware

 
News  ArcaOS 5.1.1  How to use  Hardware  Updates/fixes  
 
 
eCoSoft  Future  Community  Projects  

eCo Software
doesn't receive
payments from USA

 
Update
NeoWPS extenders - upgrade eComStation desktop

 
Applications
ReFormat utility aimed to format USB flashdisks and USB HDD, and make compatible with OS/2

 
Advantages:
Demo version of eComStation (download .iso image)

 
For developer:
REXX: To process achive files (zip, rar, 7z) - use eZip library (Zippy)

 
(Пайпы программ)

 
Companies:
SQLite library is available in every eComStation now (eCo Software runtime)

 
History:
eCo Software have started the development of ACPI driver in 2005

 
(Бонусы)

 
Advice:
(DRAFT) How to accelerate boot of eComStation?

 
(Барьеры и решения)

 
Technologies:
SQLite library is available in every OS/2 now (eCo Software runtime)

 
(Применение в науке, лаборатории, ..)

 

 
Solutions
3D printer, controlled by OS/2 (for medicine, for factories, not to print nouns)

 
New eComStation:
eComStation 2.2: Updated USB drivers

 
Future:
eComStation, comme il faut (let's describe perfect eCS)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
OS/2 artefacts:
Lotus SmartSuite for IBM OS/2 Warp

 
Gadgets:
Lotus SmartSuite for IBM OS/2 Warp

AD: Upgrade ArcaOS to NeoWPS level

  • Install original PNG icons drawed by designer, specialized at OS/2 adornation.
  • Install eSchemes 2019 to change colors and buttons on desktop.

Perfect eComStation -- Skinning


TITLE: Perfect eComStation -- Skinning

DATE: 2008-04-11 17:35:45

AUTHOR: Eugene Evstigneev

Please use online translator
go to http://translate.google.com
and request the translation of http://ru.ecomstation./showarticle.php?id=178
to your language

Eugene Evstigneev .......... ............. ........... ........ ... ........ ..... eComStation.

1. .......

  • [A1] .... ........ ..... ...... .... . ....... XML;
  • [A2] .... ...... ......... ...... ............. .....; ... ................ ...... ............... ...... ...... ....;
  • [A3] ... ........... ............ ........ ...... ......... ....... . .......... (. ...... .......... .. SOM) . ....... ...... ............. ...... ... ..... .......... ...........;
  • [A4] ........ ........... .......... ... ............. . ......... .. ...... .... ........... .........;
  • [A5] ........ ...... .... ............. .. ...... ........... ...... .... . ..... ... ............. ... .. ..... .......... ........, ... . . .................;
  • [A6] ........ ...... ............... ........... ........... ..... ... ... ...... ......., ... . ... ........ ....... ....;
  • [A7] ........ ............. .......... ... ..... .. ...... .... ............., . ...... ............ ...... ...... ........;
  • [A8] ...... .... ........... ........... ...... ......... ........... ... ...... ......... ...... . .... .. ........;
  • [A9] ..... ........ ........... .. ...... ........ ........... .. .......... ....... ..... ....... .. ......... . ........... ..........;
  • [A10] . ........ ..... .. ...... ........... ...... . ...... ........., ................ .. ...... .........;
  • [A11] .... ...... ......... ........... ................. .... . .......... ..... . ... ........... ....... . ......... ..........

2. ............. ......... . API - ........... ..........

........... .......... - ... .........., ............ . ......... ............. ..... ........... ..........:

  • ........... .......... ..... ........... ......... . ........... . ........;
  • ........... .......... ..... .... ............, ... ............ .............. .. ............. .... .. ......... . ........;
  • . ........... .......... ......... ........, ............ ...... ...........

...... . ............ ........... ...... .... ........... ... ....... ........... ......., .. ........... . ........., .. ........... ... ......

... .......... ......... . ........... .......... ...... ......... ..... ......, ... ......... .... (....../.. ...... ... ......; ......./.. ....... ... ......; ...... .. ........./.. ... ......... . ....) ... [A8], ... . ... .......... ......... (....., .... . ....). ........... .......... ...... ............. ........ presparams. ... .................. ....... ........... drag-n-drop ...... . ....... .. ........ ([A9]) .......... .............. 3 ........... .......... ... ........ ......, ..... .... . ..... ......... ...... ....... .... .... ................ .......... ...... ............. . ............... ......... ....... ... .............. ...... . ....... .. ....... .......... (....), ...... ... .. ...... ...... ............... ......... .... ....... ....., .... . .... ......... ..............

.......... ...... .... ........ ... ............. . ........ ......

... ........ .......... . .............. ......... .... ...... .... ............. API ... ...... . ...... ........... .........., ........... ........ ... ........ ...... .... .... .......... ......... ........., ............ ..... ........./....... .... .... . ........... .. ........ .......... ..... ........, . ..... . .. ........ .......... .... ........ .....

3. ............. ......... . API - XML-......

...... ...... .... .......... . ............ . ............. XML 1.0 W3C. ...... ...... ............ ........ ...... . ....... ........ ....... ... ... ........... ......... ... ........... [A3].

............... ......... ...... .............. .. ........... ...... ... ............... ........ . ...........

4. ........... .........

........... ........ - ... ....... ....... ............ . ..... ......... - ... ........., ....... .. ...... ....... .......... ............ ......... ..... . ........ presentation space. . .......... ......... ...... .... .......... ......... "Paint", .............. ............... ......... . presentation space, ......... .. ....... ...... ............ . ........ ........ .......... . .......... ...... ..... .............. ......... ........ ............... .......... ... ........ ....... ......... ....... ...... ([A3]). ..... ....... .......... ...... ..............:

  • x-.......... ....... .........;
  • y-.......... ....... .........;
  • ...... ....... .........;
  • ...... ....... .........;
  • ...... .. ...... .... ....... ......... (padding-left) (... [A10]);
  • ...... .. ....... .... ....... ......... (padding-right) (... [A10]);
  • ...... .. ....... .... ....... ......... (padding-bottom) (... [A10]);
  • ...... .. ........ .... ....... ......... (padding-top) (... [A10]);
  • ............ .. ...........;
  • ............ .. .........;
  • ...... .. .....;
  • ...... .. ...........;
  • .... ....;
  • .... ......... .....;
  • .............. ....;
  • .....;
  • .............. ........ (................, ULONG).

........ ........... ................. .......... ...... .......... ([A4]), .. ....... .......... ...... .............. ......... .. ...... ........, .......... .... "..."-"........" ... .... ...... .........., .. ........ . ..... ................, .. ......., ........, ............ . ........ ......

..... "Paint" ...... .............. ......... "ConfigDlg", ....... .......... ...... ... .......... ......... ........., ........... . ...... .......... ............ ......... .....

..... .......... ............ .......... ...... ..............:

  • solid color;
  • gradient;
  • image;
  • growable image;
  • toned image;
  • toned growable image;
  • icon;
  • text.

5. ........ .....

5.1. .......... .............

. .......... ......... .... ........ ...... .... . ....... XML ([A1]) . ............... ........... well-formed ......... . .. .... ......... .......... ("Standalone Document Declaration"), .... .......... ......... ...... .... ....:

  <?xml version="1.0" standalone="no"?>

5.2. .......... .............

5.2.1 ............

........ ......... ....... ........ ............ ................... ....., ........... ........... .......... ...... ........ ...... .... .......... ....:

 <primitive name="..">
    <parameter name=".." value=".." />
    ...
 </primitive>

..........:

 <primitive name="text">
    <parameter name="x" value="0" />
    <parameter name="y" value="0" />
    <parameter name="w" value="&cxv_w;" />
    <parameter name="h" value="&cxv_h;" />
    <parameter name="text" value="&cxv_text;" />
    <parameter name="color" value="&cxv_foregroundcolor;" />
    <parameter name="font" value="&cxv_font;" />
    <parameter name="x_shadow" value="1" />
    <parameter name="h_align" value="1" />
 </primitive>

..... ... "primitive" .......... ..... . ......... "paint" ........., ... ........ ............ ............ ......... "name". ......... ........ "parameter" .......... ..... ........, ............ . ........ ....... .........., ... ....... "name" .......... ... ........., . "value" - ......... . ............ . ..4, ................ ......... ...... ............ ............... . ...... .........., . ... ...... . .... ....... ......... ........ .......... ..... .... ...... . .... ........, ... . . .... ...... .. ........... .........., ............ . ............ . ........ ........ ......... ("entity") ............ XML.

...... ........ ....... ............. . .......... CCI, ......... ............ .......... ......... ........... . ... .............. . ........ .......... ............ ......... ......

5.2.2. .............

.............. ..... ........ .......... . ........... ...... .... ...... ............ ..... ........ ...... "class" . ............ ......... "name", ............ ..... .... ([A5]).

......:

 <class name="pushbutton">
    <primitive>...</primitive>
    ...
 </class>

..... ........... ....... ............ ... ...... ......., .......... ........... ........ ........... ... ........... ...., ............ ... ............... ([A6]). . ...... .......... ......... .. ............ ...... PM, ............... ..... .... ......, ............ .......... ...., . . SOM ... ..... .... ... ........ ...... ........ ... ........... .... ...... .... ......... .......:

 <window name="closebutton">
    <primitive>...</primitive>
    ...
 </window>

..... ....... "name" .... "window" .......... ............. ................ .....

....... ..... <class> . <window> ..... ......... ............... ... ...... ........, ..... ... ................ .... ....... ... ........ <window>, ... . <class>. . .... ...... ......... ...... ..... ........, ............ . .... <window>.

. ........ ..... .... ........ ..... ...... ......... .................. ..... <class> . <window>.

5.2.3. ........ ......

...... ..... ...... ......... ........ ............ ... ......... ......... ...... . .... .. ........ ([A8]). ..... ......... ...... ............ ............ ..........., ........ ....... ...... .............. . .......... ......... .. ..... .......

................ (...... ....... .. ........ .............), ... ........ ......... .....-.... ........... .......... ..... .... ............ ........... .... .......... ....:

 <if-eq name="" value="">
    ...
 </if-eq>

..... ....... "name" ........ ... (........) ........... .........., "value" - ......... ... .... .......... ............ ........ (. ...... ...... - .........).

.......... ........ (....) ..... ............ ... ... .......... .......... (...... ....../......), ... . .......... ............ (...... [..] ... ....., hover). ......... ........ ..... . ......... ........ ..... ......... ......... .......:

 <class name="pushbutton">
 <!-- ...... ...... -->
    <if-eq name="&pushed;" value="1">
       <primitive>..</primitive>
       ...
    </if-eq>
 <!-- ...... ...... -->
    <if-eq name="&pushed;" value="0">
 <!-- ...... ... ....... -->
       <if-eq name="&hover;" value="1">
          <primitive>..</primitive>
          ...
       </if-eq>
 <!-- ...... .. ... ....... -->
       <if-eq name="&hover;" value="0">
          <primitive>..</primitive>
          ...
       </if-eq>
    </if-eq>
 </class>

........ ........ - ........ ............. . ........... ........ . ........... .. ..... ......... ........... .........., ............ . ........ ........ ........, ... .... ........ .......... ..... .............. . ........ ......., ........... .... ... ......... ........ ..... ........... .......... ..... ........ . ............ ....... ...................

6. ........

........ ........... ................ ............. ...... .... ... .......... ... ................, ... ..... ................. .... . ..... .. ..... ........... ........ ........, ................ ...... ..... ...... (..... ......., ..... ... .................. .... ............. ......... . ....). . .... ...... ...... .......... ........, ............... ............ ...... . ........ ............. ........, ... ........ .......:

  Window
     Pushbutton
        MyPushbutton
        

........ ............ ....... ...... ... ...... "Pushbutton". ... ............ .... ...... "MyPushbutton" ...... .............. ........ ...... "Pushbutton", ... ........ ........ .. ........, ....... .........

7. ......... ........ ..........

...... ........ .......... ... ...... .............. .... ..... ......... ........ ........, ....... ..-....... ............... . ......... .. ........ ............. . ..... ......... ......... ...... ........., ...., ......, .......... . .... ... ....... ...... ..... ........ ... ........ ...... ............ ........ ......... ........ ........ . ........... ........... .... ....... - . ............ ...... ........ ....... ......... ... .......... ...... ...., ........ ....... ...... .............. . ......

.. ....... ...... ........., ... ........ .... ......... ......... (...... ....., ...... ...., ......) ..... ........ 4 ........... .......... - ...... ......, .......... ....... ......, .......... ......, ...... ....... ..... ......., ........ ............ ... ...... ........ ..... .. ......... .... .......:

 <!-- .... ...... -->
 <primitive name="solidcolor">
    <parameter name="x" value="0" />
    <parameter name="y" value="0" />
    <parameter name="w" value="&cxv_w;" />
    <parameter name="h" value="&cxv_h;" />
 </primitive>
 <!-- ...... .... -->
 <primitive name="solidcolor">
    <parameter name="x" value="0" />
    <parameter name="y" value="0" />
    <parameter name="w" value="&cxv_w;" />
 <!-- cxv_buttonh - .........., .......... ...... ...... -->
    <parameter name="h" value="&cxv_buttonh;" />
 </primitive>
 <!-- ...... ..... -->
 <primitive name="solidcolor">
    <parameter name="x" value="0" />
 <!-- cvx_buttony - .........., .......... y-.......... ...... "....." -->
    <parameter name="y" value="&cxv_buttony;" />
    <parameter name="w" value="&cxv_w;" />
 <!-- cvx_buttonh - .........., .......... ...... ...... -->
    <parameter name="h" value="&cxv_buttonh;" />
 </primitive>
 <!-- ...... -->
 <primitive name="solidcolor">
    <parameter name="x" value="0" />
 <!-- cvx_slidery - .........., .......... y-.......... ...... -->
    <parameter name="y" value="&cxv_slidery;" />
    <parameter name="w" value="&cxv_w;" />
 <!-- cvx_sliderh - .........., .......... ...... ...... -->
    <parameter name="h" value="&cxv_sliderh;" />
 </primitive>

.......... ...... - ... ............. ... ............ ........., ... .......... ........ ........ ..........., ........ .....

......... ...... ........ ....... . ......... .... .. ..... ....... ...... ... ..........., .. ....... ........ ....... ...., . ........ ....... ............ ...... ..... ........ .......... ..... ......... .......... ... ....... ....... ......... ........ - ........ .... ... ........ ........ ...... ... ................ ........... ........ .. ......, . .. ........ ... ... ........ ... ........ ...... - ........... ..... ....... ... ........ . ........ .... (........, ....).

.............. ....... ............ ....... . ..... ........ ............ ... ...... ........ ....... ... ... .......... ...... ...., .. ... ........... .......... ......... ... .... ......... .......... ........ ..... ........ .. .................. ....... . ......... ............ ... ...... ........ ....... . ............... .......... ........... .......... . ...... ........ . ............ . ........ ........ ......... ....... ............ .......... ...... ...., .............. . ......., .. .............. . ........ ...... .......... ....... - ... ...............

8. .....

.. ...... ...... . ....... ....... ........, ....... ............... ........ ......., . ....... ......... ....... ("WC_SPINBUTTON"). ... .. ............ ............ ... .......... ..... ...... ... .......... ..... ............... ........, ... ........ . ........ ..... ........., ............ ........ ......

9. ............. .........

............ ..... ............ ....... ............. . ............. ...... ............. ........... ..... ....., ...... . ...... ......... ..... .......... ... . .... ........, ... . . .... ...... .. ........... ........... ........, ... ...., . ....... ... .......... ......... ...... . .... ........, ..... ..... ........, ......... . ......... ..... . .. .. ....., ..... .. ...... ...... ... ......... . .... .........., ....... ..... ........... ... . .......... ........... ............, ... . . ........ .......... . ........ ........ ........ .......... ..... .......... . ..... .......... .. ....... ......., . ........ ..... .......... ............. .... (........, ......... ......), .......... ........ ......... . ..... .........., ......... ... ............. . ......... ..... ........ ...... .... ............. .. ............ ...... ... .............. ...., . ......... ... ........., .......... ... ............ ......... . ......... ..... ......... ...... .........:

  • ............... ........ .......... (........, .. ...... ......);
  • ... .......... (...., ........, ....., ....., ......., ...... . ....);
  • ........ .. ..........

...... ............. ........ ..........:

 <!-- parameters.xml -->
 <sch:class name="pushbutton">
    <sch:name xml:lang="en">Push button</sch:name>
    <sch:name xml:lang="ru">......</sch:name>
    <sch:parameter value="cxv_backgroundcolor">
       <sch:name xml:lang="en">Button color</sch:name>
       <sch:name xml:lang="ru">.... ......</sch:name>
       <sch:type value="color" />
       <sch:value value="#808080" />
    </sch:parameter>
    <sch:parameter value="cxv_foregroundcolor">
       <sch:name xml:lang="en">Text color</sch:name>
       <sch:name xml:lang="ru">.... ......</sch:name>
       <sch:type value="color" />
       <sch:value value="#0" />
    </sch:parameter>
    ...
 </sch:class>

..... ........ .......... (........ ........ "value" .... "parameter") ...... .......... _.._ . ....... ........ (entity). ......... ..... ....... .......... ..... .... ........... ...... ... ......, ...... ........ ........ ... .... ........... ... ........ .........., ............ . ...... "<window>" ........ ..... ............ ............ ... "<sch:window>" ...... "<sch:class>". ............ ..... ....... .......... .. ..... .... ........ .......... SYSCLRs, ......... . ....... ...... PM. ... ........ .......... ... ......... ...... ... .... ............ ............ ... "<sch:section>" . ........ ........, ........... ............ ..... ....... ....... .........., ......... . ...... "<sch:section>" .. ..., ....... ....... . "<sch:window>" . "<sch:class>" . ..., ... ... .......... ... ......-.... ........., . ..... .... .. .... .......... ........ ...... . ......, ..... .......... . ..... . ... .. ...... .......... . ......... ......, .... . ..... ......, ......... .............. ......... .......:

  • 1. ....;
  • 2. .....;
  • 3. ..... .......

.............. .......... ...... "<sch:section>" - ........... ..... .......... ....., .. ........... . ............. ...... ... ...., .... ......... ....... .......... .. ........... ..... .............. ...... ..... .... ......... ... ........... ........... .......... ........... .......... . .... ......... ......

........... .......... . ..... . ... .. ...... ......... ... . ........:

  • ..... ...... "<sch:window>";
  • ..... ...... "<sch:class>";
  • .... ...... "<sch:section>"

........ ........

10. ..... ..........

........ .............. ......... ............ ........... . .... ....... . ....... ...... .... ........ ...... (.......... ..... ....... WinDefWindowProc ....... ...... PM). ........ ..... .............. . ......... ...... PM ............ ....... . ...... Paint (WM_PAINT), ................ . ...... .... ........ ....... ..... ........ ...... ..... ...... ..... ............... ...... ......... ......... .......:

 1. ......... ..... ... ........ ....
 2. .... ...... (........, .... ... .... .. .........), ..
 3.   ......... ..... ... ........ ...... ....
 4.   .... ...... (........, .... ... ...... .. .........), ..
 5.      .... ....... ..... .... ..... ...... ........ ......,
 5.         .. ....... . .......
 6.      .......... ....., ....... .... .. ........, . ..3
 7. ........ .......

..... ......., ........ ..... ........ ... ............. . ..... ....... ... ............ .......... ................ ......... .... ........... ..., ... ........ ...... .... .......... . ...... .... ........ ......, ....... ........ .................. . ........... (...............) ....... ........ ...... .... .........:

  • 1. ..... .......... ...........
  • 2. .... ...... ..., .......
  • 3. ...... ......... ........

. ..1 .......... ......... ........., .......... ...., ....... ............. ....... .. ...... ........ ...... .... ............ ...... . ........, .......... ...... ......... ........ .. ...... .. ......... ....... .........., .. ......... . .......... .......... .... ........ ........ ......... ................. ................. .......... .... ... ........... ....... . ......... ........., ............ ... ..-.. ...... . .......... ........., ... . ..-.. ................ ...... (............ ...., .......... ......, ............ ... ........ . ....) ([A11]).

Test the program:

How to mount encrypted disk? NDCrypt - plugin for NetDrive.

Comments:

arec
2008-04-15 03:17:02

..... eComStation ............ . ........ ReactOS ... ..... ........ ............. . ..... ..... ....

. -.. ... . ....... ... . ... ... .. ..... ... . .... ..... .... . .... ...... . ....... .... ...... . ...... ... .......... ....

Sergey Posokhov
2008-04-15 12:25:27

. . ... .. ........ :-) ..... ...., ........ Rexx, ........... ....... ..... ......, . ... ..... .... . .... PM123. ... ............. . ... .. .. . .......... .....?

Comment this article.


Your Name:

Your E-Mail:

CODE:
247627