[[ header START ]]

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

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

Frequently asked questions and answers:
telegram

Форум обсуждение

telegram

Send message

telegram

[ +7-981-8529467 (Санкт-Петербург)

telegram

t.me/os2_guru

eComStation.RU


ru · en · de · es · it · pt · cz · pl · fr
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.
 
[What is OS/2?  News  Install  Update  
 
 
Usage  Future  Community  Projects  

How to buy
russian OS/2 apps?

The concept of
OS/2 development

(Map of the site)

 
 
[[ head-3-search ]]

Database of OS/2 compatible hardware

[[ head-3-search END ]]

 
Update

 
Applications

 
Advantages:

 
For developer:

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

 
Companies:

 
History:

 
(Бонусы)

 
Advice:

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

 
Technologies:

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

 

 
Solutions

 
New eComStation:

 
Future:

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

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

 
OS/2 artefacts:

 
Gadgets:

Upgrade ArcaOS to NeoWPS level

  • Install original PNG icons drawed by designer, specialized at OS/2 adornation.
  • Install eSchemes 2018 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:

USB Dock - shows devices plugged into PC

Kommentare:

arec
2008-04-15 03:17:02

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

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

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

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

Kommentiere diesen Artikel.


Ihr Name:

Ihre E-Mail-Adresse:

CODE:
......

  

Ihr Kommentar:


eComStation 2.0 includes OpenOffice.org 3.x which supports Microsoft Office Open XML (.docx and other)

Artikel

Betriebssystem
Software
Hardware
fuer Entwickler
Diverses
vom Herausgeber





Letzte aktive Umfrage: What is the height of RPM barrier?

[Google]

IBM OS/2 Warp

 
For dummies

Database of OS/2 compatible hardware

 
Reviews


     
  Why eComStation?
Features
Advantages
Usage
Clips and screenshots
   eComStation for
for businessmen
for students and engineers
for reselles of computers
community of users
   Developer
Distribute the program
Description of API, libraries
Start new project
Competition
   Applications
On-line catalogue
Select from eCo Market
   Support service
Contact the web-master
Buy eComStation
Frequently asked questions
for Beginners
 
 
© 2001 - 2021 eCo Software, All rights reserved
Сибирский Медведь технологическая компания
eComStation Serenity Systems International • OS/2 Warp IBM Corporation • ArcaOS Arca Noae