home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cell06d.zip / doc / cell.rus < prev   
Text File  |  1999-02-05  |  14KB  |  343 lines

  1.                             Cell Toolkit.
  2.                                 v.06d
  3.  
  4.  
  5.     Cell Toolkit φΓ« ¡Ñí«½∞Φá∩ í¿í½¿«ΓѬá ñ½∩ π߬«αÑ¡¿∩ ß«ºñá¡¿∩ »α«úαá¼¼
  6.     ñ½∩ OS/2 PM. è «ß«íÑ¡¡«ßΓ∩¼ φΓ«⌐ í¿í½¿«ΓѬ¿ ßΓ«¿Γ «Γ¡ÑßΓ¿ ß½ÑñπεΘÑÑ:
  7.  
  8.     - »«ññÑ᪬á Γᬠ¡áºδóáѼδσ 'Split View'
  9.     - »«ññÑ᪬á Γπ½íáα«ó ß »áᬫó¬«⌐ ¡á ½εíπε úαá¡¿µπ «¬¡á »α«úαá¼¼δ.
  10.     - »«ññÑ᪬á "»πºδα∞¬«ó«⌐" »«ñ߬Ậ¿
  11.     - »α«ßΓ«Γá ¿ß»«½∞º«óá¡¿∩
  12.     - αÑ὿ºáµ¿∩ ¡á τ¿ßΓ«¼ C, »α¿ φΓ«¼ «¡á ¡«α¼á½∞¡«
  13.       ¬«¼»¿½¿απÑΓß∩ ó αѪ¿¼Ñ C++
  14.     - ¿ß»«½∞º«óá¡¿Ñ Γ«½∞¬« OS/2 PM API
  15.  
  16.     çáτѼ φΓ« óßÑ ¡πª¡«? ÅαѪñÑ óßÑú«, φΓá í¿í½¿«ΓѬᠡѠÑßΓ∞ ¡ÑτΓ«
  17. óßÑ«íΩѼ½εΘÑÑ. Å«φΓ«¼π ó »Ñαóπε «τÑαÑñ∞ «¡á »α¿ß»«ß«í½Ñ¡á ñ½∩ ß«ºñá¡¿∩
  18. ¡Ñí«½∞Φ¿σ »α«úαá¼¼. èα«¼Ñ Γ«ú«, αẼÑαδ ó φΓ«¼ ß½πτáÑ ¿¼ÑεΓ ¡Ñ¼á½«ó᪡«Ñ
  19. º¡áτÑ¡¿Ñ, ¿º-ºá τÑú« «¡á, ß«íßΓóÑ¡¡«, ¿ íδ½á ßñѽá¡á ¡á ú«½«¼ API íѺ
  20. »α¿¼Ñ¡Ñ¡¿∩ τÑú«-Γ« ú«Γ«ó«ú« ó ¬áτÑßΓóÑ íáºδ.
  21.  
  22.     ìπ á ΓÑ»Ñα∞ »« »«α∩ñ¬π. Äß¡«ó¡á∩ ¿ñÑ∩ ½ÑªáΘá∩ ó «ß¡«óÑ Cell Toolkit - Γ«,
  23. τΓ« óß∩¬«Ñ «¬¡« ¼«ª¡« αáºñѽ¿Γ∞ ¡á ñóá, ½¿í« »« ú«α¿º«¡Γ὿, ½¿í« »« óÑαΓ¿¬á½¿.
  24. çáΓѼ ¬ φΓ«⌐ íẫó«⌐ ¿ñÑÑ í뫨 »α¿µÑ»½Ñ¡δ ΦáΦÑτ¬¿ ó ó¿ñѠ󫺼«ª¡«ßΓÑ⌐
  25. ¿¼ÑΓ∞ ºáñá¡δÑ ºáαá¡ÑÑ »α«»«αµ¿¿ τáßΓÑ⌐ «¬¡á, ß»½¿Γíáα, ó«º¼«ª¡«ßΓ∞ Σ¿¬ß¿α«óáΓ∞
  26. αẼÑα »«ñ«¬¡á, ¿ Γ.ñ. çáΓѼ í뫨 ñ«íáó½Ñ¡δ Γπ½íáαδ, ß ó«º¼«ª¡«ßΓ∞ε »áα¬«ó¬¿ ¿σ
  27. ¡á ½εíπε úαá¡¿µπ «¬¡á. ìᬫ¡Ñµ, ∩ ¡á»¿ßá½ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó, ¬«Γ«αδÑ,
  28. ∩ ¡áñÑεß∞, »«¼«úπΓ αẫíαáΓ∞ß∩ ß í¿í½¿«ΓѬ«⌐.
  29.  
  30.     ùÑú« σ«Γѽ«ß∞ »«½πτ¿Γ∞.
  31.  
  32.     èᬠπªÑ π»«¼¿¡á½«ß∞ óδΦÑ, «ß¡«ó¡á∩ ¿ñÑ∩ - óß∩¬«Ñ «¬¡« ¼«ª¡« αáºñѽ¿Γ∞
  33. ¡á ñóá.
  34.     ìá»α¿¼Ñα Γá¬:
  35.  
  36. +---------+
  37. |         |
  38. +---------+
  39. |         |
  40. +---------+
  41.  
  42.     ê½¿ Γá¬:
  43.  
  44. +----+----+
  45. |    |    |
  46. |    |    |
  47. |    |    |
  48. +----+----+
  49.  
  50.     àß½¿ αáºαÑΦ¿Γ∞ ñѽ¿Γ∞ ó½«ªÑ¡δÑ «¬¡á, Γ« ¼«ª¡« »«½πτ¿Γ∞, ¡á»α¿¼Ñα,
  51. ó«Γ Γá¬πε ¬«¡ßΓαπ¬µ¿ε:
  52.  
  53. +----+----+
  54. |    |    |
  55. +----+----+
  56. |         |
  57. +---------+
  58.  
  59.     Æá¬, ¡á»α¿¼Ñα, óδú½∩ñ¿Γ τ¿ΓὬᠡ∞εß«ó ó Netscape 2.02.
  60. Ç ó«Γ Γᬠóδú½∩ñ¿Γ PMMail 2.0:
  61.  
  62. +---+-----+
  63. |   |     |
  64. |   +-----+
  65. |   |     |
  66. +---+-----+
  67.  
  68. É¿ß.1
  69.  
  70.     èᬠ¡Ñ Γαπñ¡« ñ«úáñáΓ∞ß∩ φΓ« ¿ ÑßΓ∞ ΓÑ ßá¼δÑ split view.
  71. ÄτÑ¡∞ πñ«í¡« ñ½∩ ¿ß»«½∞º«óá¡¿∩, ¡« ñ«ó«½∞¡« αÑñ¬« αÑ὿ºπѼ«Ñ αÑΦÑ¡¿Ñ.
  72. ò«Γ∩ ¡á ßἫ¼ ñѽѠ¡¿¬á¬¿σ «ß«íδσ ß½«ª¡«ßΓÑ⌐ ¡ÑΓ. çáú½∩¡Ñ¼ ó«ó¡πΓα∞ ªÑ
  73. Cell Toolkit.
  74.  
  75.  
  76.     é¡πΓαÑ¡«ßΓ¿ Cell Toolkit.
  77.  
  78.     ü¿í½¿«ΓѬá ß«ßΓ«¿Γ ¿º ñóπσ í«½∞Φ¿σ τáßΓÑ⌐, ñ«ó«½∞¡« »½«Γ¡« »ÑαÑ»½ÑΓÑ¡¡δσ
  79. ¼Ñªñπ ß«í«⌐. ÅÑαóá∩ - ß«íßΓóÑ¡¡« »«ññÑ᪬á split view, óΓ«αá∩ - Γπ½íáαδ.
  80.  
  81.     ä½∩ αÑ὿ºáµ¿¿ split view íδ½ óδíαá¡ ß½ÑñπεΘ¿⌐ »«ñσ«ñ. Ä¬¡«, ¬«Γ«α«Ñ
  82. ñ«½ª¡« ß«ñÑαªáΓ∞ split view αáºí¿óáÑΓß∩ ¡á ∩τÑ⌐¬¿, ¡á»α¿¼Ñα ñ½∩ Γᬫú« «¬¡á
  83. ¬«Γ«α«Ñ ¿º«íαáªÑ¡« ¡á É¿ß.1 Γá¬á∩ αáºí¿ó¬á óδú½∩ñ¿Γ Γá¬:
  84.  
  85.         +---------+
  86.         |         |  â½áó¡«Ñ «¬¡«
  87.         |         |
  88.         |         |
  89.         +---------+
  90.             / \
  91.            /   \         +-----+  óÑασ¡∩∩ »á¡Ñ½∞
  92.       +---+     +---+  / |     |
  93.       |   |     |   | /  +-----+
  94.       |   |     |   | \  +-----+  ¡¿ª¡∩∩ »á¡Ñ½∞
  95.       |   |     |   |  \ |     |
  96.       +---+     +---+    +-----+
  97.       ½Ñóá∩     »αáóá∩
  98.       »á¡Ñ½∞    »á¡Ñ½∞
  99.  
  100.  
  101.     èα«¼Ñ Γ«ú«, ¼Ñªñπ »á¡Ñ½∩¼¿ ¡áσ«ñ¿Γß∩ ß»½¿Γíáα, ¬«Γ«αδ⌐ «íÑß»Ñτ¿óáÑΓ
  102. 󫺼«ª¡«ßΓ∞ »«½∞º«óáΓÑ½ε ¿º¼Ñ¡∩Γ∞ ß««Γ¡«ΦÑ¡¿Ñ αẼÑα«ó »á¡Ñ½Ñ⌐.
  103. æἿ »á¡Ñ½¿ ¿ ÑßΓ∞ ΓѼ¿ µÑ½Ñó묨 «¬¡á¼¿, ó ¬«Γ«αδσ »α«¿ßσ«ñ¿Γ αÑá½∞¡á∩ αáí«Γá
  104. »«½∞º«óáΓѽ∩: αÑñá¬Γ¿απÑΓß∩ ΓѬßΓ, »α«ß¼áΓα¿óáεΓß∩ ß»¿ß¬¿ ¿ Γ.ñ.
  105. ê߬½ετÑ¡¿Ñ ó ñá¡¡«¼ ß½πτáÑ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »αáóá∩ »á¡Ñ½∞, »«ß¬«½∞¬π
  106. «¡á ∩ó½∩ÑΓß∩ ΣαÑ⌐¼«¼ ñ½∩ ó½«ªÑ¡«ú« split view. ò«α«Φ« ó¿ñ¡«,
  107. τΓ« óßÑ «¬¡á ¼«ª¡« αáºí¿Γ∞ ¡á ñóá ó¿ñá: ΣαÑ⌐¼δ ¿ ¬«¡Ñτ¡δÑ «¬¡á.
  108.     ä½∩ αÑ὿ºáµ¿¿ ΣαÑ⌐¼«ó ¿ß»«½∞ºπÑΓß∩ ñ«ßΓáΓ«τ¡« »α«ßΓá∩ ¿ σ«α«Φ«
  109. ºáαѬ«¼Ñ¡ñ«óáóΦá∩ ßÑí∩ ΓÑσ¡¿¬á subclassing. Æ« ÑßΓ∞, íÑαÑΓß∩
  110. ¬á¬«⌐-½¿í« ßΓá¡ñáαΓ¡δ⌐ ¬½áßß ¿ Ñ¼π »«ñ¼Ñ¡∩ÑΓß∩ «íαáí«Γτ¿¬ ß««íΘÑ¡¿⌐
  111. ó αѺπ½∞ΓáΓÑ τÑú« ¼«ª¡« ó¿ñ«¿º¼Ñ¡¿Γ∞ »«óÑñÑ¡¿Ñ Γᬫú« «¬¡á.
  112. ê ñ½∩ ΣαÑ⌐¼«ó, ÑßΓÑßΓóÑ¡¡« ;-) ¡á¿í«½ÑÑ »«ñσ«ñ∩Θ¿¼ ¬á¡ñ¿ñáΓ«¼ ∩ó½∩ÑΓß∩
  113. Frame Window. ùΓ« ¡á¼ «Γ ¡Ñú« ¡πª¡« ó »Ñαóπε «τÑαÑñ∞,
  114. ΓᬠφΓ« »αáó¿½∞¡« αẼÑßΓ¿Γ∞ ó½«ªÑ¡δÑ «¬¡á. ä½∩ φΓ«ú« ñ«ßΓáΓ«τ¡«
  115. »ÑαÑσóáΓ¿Γ∞ ñóá ß««íΘÑ¡¿∩:
  116.  
  117. WM_QUERYFRAMECTLCOUNT
  118. WM_FORMATFRAME
  119.  
  120. ÅÑαó«Ñ ß««íΘÑ¡¿Ñ ó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« »«ñτ¿¡Ñ¡¡δ󠫬«¡,
  121. á óΓ«α«Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« «ΓóÑτáÑΓ ºá π¬½áñ¬π φΓ¿σ φ½Ñ¼Ñ¡Γ«ó »« »½«Θáñ¿ «¬¡á.
  122. Å«ñα«í¡«ßΓ¿ ¼«ª¡« ¡á⌐Γ¿ ó Σπ¡¬µ¿¿ CellProc.
  123.  
  124.     ÄßΓáÑΓß∩ αÑΦ¿Γ∞ ó«»α«ß ß« ß»½¿Γíáα«¼. èᬠ«¬áºá½«ß∞, ßἫѠ»α«ßΓ«Ñ
  125. αÑΦÑ¡¿Ñ φΓ« αÑú¿ßΓαᵿ∩ ß««ΓóÑΓßΓóπεΘÑú« ¬½áßßá ¿ »α¿ ß«ºñá¡¿¿ ΣαÑ⌐¼á
  126. ó ¬áτÑßΓóÑ ¬½áßßá ñ½∩ ¬½¿Ñ¡Γ߬«ú« «¬¡á π¬áºδóáΓ∞ φëଽáßß. ¥Γ« ºá¼ÑΓ¡«
  127. π»α«ΘáÑΓ ª¿º¡∞, »«ß¬«½∞¬π ¼á¡¿»π½∩µ¿∩¼¿ ß φΓ¿¼ «¬¡«¼ ó «ß¡«ó¡«¼ «ºáí«τÑ¡
  128. ßΓáαδ⌐ «íαáí«Γτ¿¬ Frame Window. éßÑ, τΓ« ¡πª¡« - φΓ« »αáó¿½∞¡« πßΓá¡«ó¿Γ∞
  129. αẼÑα ß»½¿Γíáαá »α¿ «íαáí«Γ¬Ñ WM_FORMATFRAME, ¡Ñ ºáíδΓ∞ Ñú« »α«α¿ß«óáΓ∞
  130. ¿ »α¿ »α«σ«ªñÑ¡¿¿ ¬παß«αá ¼δΦ¿ ¡áñ ß»½¿Γíáα«¼ ¡Ñ ºáíδΓ∞ »«¼Ñ¡∩Γ∞ Σ«α¼π
  131. ¬παß«αá. àßΓ∞ ÑΘÑ «ñ¡á óÑΘ∞, ºá ¬«Γ«απε Γ«ªÑ «ΓóÑτáÑΓ ß»½¿Γíáα: ¿º¼Ñ¡Ñ¡¿Ñ
  132. αẼÑα«ó »á¡Ñ½Ñ⌐. äÑΓ὿ φΓ¿σ ñÑ⌐ßΓó¿⌐ ¼«ª¡« ¡á⌐Γ¿ ó Σπ¡¬µ¿¿ CellClientProc.
  133.  
  134.     ÆÑ»Ñα∞ ¡Ñ¼¡«ª¬« « Γπ½íáαáσ. ìÑ»«ßαÑñßΓóÑ¡¡« Γπ½íáα - φΓ« Γ«ªÑ ΣαÑ⌐¼,
  135. ó ¬«Γ«α«¼ αáß»«½«ªÑ¡δ ¬¡«»¬¿. è¡«»¬¿ φΓ« «íδτ¡δÑ Push Button. ùÑú«-Γ«
  136. ¡Ñ«íδτ¡«ú« ó ¡¿σ ¡ÑΓ, ¬α«¼Ñ, »«ªá½π⌐, "»πºδα∞¬«ó«⌐" »«ñ߬Ậ¿. é»α«τѼ
  137. φΓ« ßñѽᡫ ñ«ßΓáΓ«τ¡« Γαáñ¿µ¿«¡¡δ¼ ß»«ß«í«¼ (subclassing),
  138. á ΓÑσ¡¿¬á ß«ºñá¡¿∩ Γᬫ⌐ »«ñ߬Ậ¿ íδ½á ó ñÑΓá½∩σ «»¿ßá¡á ó «ñ¡«¼ ¿º
  139. óδ»π߬«ó EDM/2.
  140.     ä½∩ αÑ὿ºáµ¿¿ ó«º¼«ª¡«ßΓ¿ »α¿ß«Ññ¿¡Ñ¡¿∩/«Γß«Ññ¿¡Ñ¡¿∩ Γπ½íáαá ¡Ñ »α¿Φ½«ß∞
  141. »α«ñѽδóáΓ∞ ¬á¬¿σ-Γ« ¡Ñ«íδτ¡δσ Γα嬫ó. Ä¬áºá½«ß∞, τΓ« ñ«ßΓáΓ«τ¡« »«¼Ñ¡∩Γ∞
  142. «¬¡«-α«ñ¿Γѽ∞ ñ½∩ Γπ½íáαá ¿ «¡ ¿º τáßΓ¿ «ß¡«ó¡«ú« «¬¡á »αÑóαáΓ¿Γß∩
  143. ó ¡Ñºáó¿ß«¼«Ñ «¬¡« ¿½¿ ¡á«í«α«Γ, ¿º ¡Ñºáó¿ß¿¼«ú« «¬¡á ßΓá¡ÑΓ τáßΓ∞ε «¬¡á
  144. »α«úαá¼¼δ.
  145.  
  146.     ä½∩ ßí«α¬¿ í¿í½¿«ΓѬ¿ ¿ »α¿¼Ñα«ó »«¡áñ«í∩Γß∩:
  147.  
  148.     - ¬«¼»¿½∩Γ«α C (»α«óÑαÑ¡δ VAC++, Watcom C++ 10.0a ¿ 10.6,
  149.       Borland C++ 2.0, EMX 0.9c);
  150.     - Borland MAKE (¿º ¬«¼»½Ñ¬Γá BC ¿½¿ Tasm) ¿
  151.     - grep (»α«óÑαÑ¡δ GNU ¿ Borland);
  152.     - mv (GNU file utils).
  153.     - makedep (¡á»¿ßá¡á∩ Walter Bright ß ¼«¿¼¿ ¼«ñ¿Σ¿¬áµ¿∩¼¿),
  154.       ÑÑ í¿¡áα¡¿¬ óσ«ñ¿Γ ó ¬«¼»½Ñ¬Γ áασ¿óá
  155.     - EXEHDR ¿º Toolkit.
  156.  
  157.     æ«íßΓóÑ¡¡«, óß∩ í¿í½¿«ΓѬá (»«¬á) φΓ« «ñ¿¡ .H Σá⌐½ ¿ «ñ¿¡ .C Σá⌐½,
  158. á óßÑ »ÑαÑτ¿ß½Ñ¡«Ñ óδΦÑ ¡πª¡« ñ½∩ ßí«α¬¿ »α¿¼Ñα«ó. ê¼ÑεΘ¿⌐ß∩ ó ¬«¼»½Ñ¬ΓÑ
  159. makefile ú«Γ«ó ¬ π»«ΓαÑí½Ñ¡¿ε ó¼ÑßΓÑ ß Watcom 10.x.
  160.  
  161.     æí«α¬á »«ñ ñαπú¿Ñ ¬«¼»¿½∩Γ«αδ ñѽáÑΓß∩ ó ñóá φΓá»á:
  162.  
  163.     - ºá»π߬áѼ build.cmd, ¬«Γ«αδ⌐ ßΓα«¿Γ makefile
  164.       (ñ½∩ ß»αá󫬠¼«ª¡« ºá»πßΓ¿Γ∞ build.cmd ß »áαá¼ÑΓα«¼ -?),
  165.     - ºá»π߬áѼ make ¿ τÑú« - ¡¿íπñ∞ ¿¼ÑѼ :)
  166.  
  167.  
  168.     ÆÑ»Ñα∞ ¬«α«Γ¬«Ñ απ¬«ó«ñßΓó« »« ¿ß»«½∞º«óá¡¿ε:
  169.  
  170. ä½∩ ß«ºñá¡¿∩ «¬¡á ¡Ñ«íσ«ñ¿¼« »«ñú«Γ«ó¿Γ∞ ßΓαπ¬Γπαπ Γ¿»á CellDef (ß¼. cell.h):
  171.  
  172. typedef struct stCellDef
  173. {
  174.     LONG lType;
  175.     PSZ  pszClass;
  176.     PSZ  pszName;
  177.     ULONG ulStyle;
  178.     ULONG ulID;
  179.     struct stCellDef* pPanel1;
  180.     struct stCellDef* pPanel2;
  181.     PFNWP pClassProc;
  182.     PFNWP pClientClassProc;
  183.     LONG  lSize;
  184. } CellDef;
  185.  
  186. lType:  ºáñáÑΓß∩ Γ¿» ¿ Σ½áª¬¿ «ΓóÑτáεΘ¿Ñ ºá αẽ¿τ¡δѠ󫺼«ª¡«ßΓ¿ «¬¡á.
  187.         π¬áºá¡¿Ñ Σ½áúá CELL_WINDOW «º¡áτáÑΓ, τΓ« φΓ« íπñÑΓ ∩τÑ⌐¬á ß π»αáó½∩εΘ¿¼
  188.         φ½á¼Ñ¡Γ«¼ (¬«¡Γα«½«¼), ó »α«Γ¿ó¡«¼ ß½πτáÑ (»α¿ ºáñá¡¿¿ CELL_VSPLIT ¿½¿
  189.         CELL_HSPLIT) - φΓ« ¬«¡ΓÑ⌐¡Ñα ñ½∩ ∩τÑѬ.
  190.         äαπú¿Ñ Σ½áú¿ «»¿ßá¡δ ¡¿ªÑ.
  191.  
  192. pszClass: ºáñáÑΓ ¬½áßß «¬¡á, ñ½∩ ßΓá¡ñáαΓ¡δ󠬫¡Γα«½«ó φΓ« «íδτ¡δÑ ¬«¡ßΓá¡Γδ
  193.         ¿º ßÑα¿¿ WC_ (WC_BUTTON, WC_MLE, ...). ¥Γ« ¼«úπΓ íδΓ∞ ¿ éáΦ¿
  194.         ß«íßΓóÑ¡¡δÑ ¬½áßßδ «¬«¡. ¥Γ«Γ »áαá¼ÑΓα ¿ú¡«α¿απÑΓß∩ ñ½∩ ΣαÑ⌐¼«ó.
  195.         é φΓ«¼ ß½πτáÑ óßÑúñá ß«ºñáÑΓß∩ WC_FRAME.
  196.  
  197. pszName: φëà»áαá¼ÑΓα ßΓá¡«ó¿Γß∩ Window Text ß«ºñáóáѼ«ú« «¬¡á.
  198.         àß½¿ íδΓ∞ ß«óßѼ Γ«τ¡δ¼, Γ« «¡á »ÑαÑñáÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿⌐ «ñ¡¿¼ ¿º
  199.         »áαá¼ÑΓα«ó WinCreateWindow. Äí φΓ«¼ ¼«ª¡« »«τ¿ΓáΓ∞ ó Γπ½¬¿ΓÑ.
  200.  
  201. ulID   : ¿ñÑ¡Γ¿Σ¿¬áΓ«α «¬¡á.
  202.  
  203. ulStyle: φΓ«, «»∩Γ∞ Γᬿ, Σ½áú¿ ¬«Γ«αδÑ íπñπΓ »ÑαÑñá¡δ ó WinCreateWindow.
  204.         æ «ñ¡«⌐ «ú«ó«α¬«⌐: ñ½∩ ¬«¡ΓÑ⌐¡Ñαá ∩τÑѬ φΓ« Σ½áú¿ ¿º ßÑα¿¿ FCF_,
  205.         ºáñáεΘ¿Ñ ó¡ÑΦ¡¿⌐ ó¿ñ ¿ »«óÑñÑ¡¿Ñ αἬ¿ «¬¡á.
  206.  
  207. pPanel1, pPanel2: π¬áºáΓѽ¿ ¡á «»¿ßá¡¿Ñ ∩τÑѬ ß«ñÑαªáΘ¿σß∩ ó ¬«¡ΓÑ⌐¡ÑαÑ. ¥Γ¿
  208.         π¬áºáΓѽ¿ íπñπΓ »α«¿ú¡«α¿α«óá¡δ, Ñß½¿ π¬áºá¡ Σ½áú CELL_WINDOW.
  209.  
  210. pClassProc: φΓ« »α«µÑñπαá, ¬«Γ«αá∩ íπñÑΓ ºá¼Ñ¡∩Γ∞ ßΓá¡ñáαΓ¡πε »α«µÑñπα𠫬¡á.
  211.         é φΓ«⌐ »α«µÑñπαÑ ¼«ª¡« »«½πτ¿Γ∞ π¬áºáΓѽ∞ ¡á ßΓá¡ñáαΓ¡δ⌐ «íαáí«Γτ¿¬
  212.         ß«íδΓ¿⌐ «¬¡á, ñ«ßΓáó ß »«¼«Θ∞ε WinQueryWindowULong() π¬áºáΓѽ∞ ¡á
  213.         ßΓαπ¬Γπαπ. Æ¿» ßΓαπ¬Γπαδ «Γ½¿τáÑΓß∩ ñ½∩ ¬«¡ΓÑ⌐¡Ñαá ∩τÑѬ ¿ ∩τÑѬ.
  214.         ä½∩ ∩τÑѬ φΓ« WindowCellCtlData, ñ½∩ «¬«¡ - CellCtlData.
  215.         éΓ«αá∩ ßΓαπ¬Γπαá »αÑñ¡áº¡áτÑ¡á ñ½∩ ó¡πΓαÑ¡¡Ñú« ¿ß»«½∞º«óá¡¿∩ ¿ »«
  216.         «¬«¡τá¡¿ε «íαáí«Γ¬¿ ß««íΘÑ¡¿∩ ¡Ñ«íσ«ñ¿¼« óδºδóáΓ∞ ¡Ñ ßΓá¡ñáαΓ¡δ⌐
  217.         «íαáí«Γτ¿¬ (CellCtlData->pOldProc), á CellProc. é ½εí«¼ ß½πτáÑ, Ñß½¿
  218.         éá¼ »«¡áñ«í¿Γß∩ ºá½ÑºáΓ∞ Γᬠú½πí«¬«, Γ« éá¼ »α¿ñÑΓß∩ ñÑΓá½∞¡ÑÑ ß¼«ΓαÑΓ∞
  219.         ¿ßσ«ñ¡δ⌐ ΓѬßΓ cell.c.
  220.  
  221. pClientClassProc: φΓ« »α«µÑñπαá, ¬«Γ«αá∩ íπñÑΓ ºá¼Ñ¡∩Γ∞ ßΓá¡ñáαΓ¡δ⌐ «íαáí«Γτ¿¬
  222.         ß««íΘÑ¡¿⌐ ¬½¿Ñ¡Γ߬«⌐ τáßΓ¿ «¬¡á ¬«¡ΓÑ⌐¡Ñαá ∩τÑѬ. ü«½ÑÑ ñÑΓá½∞¡«
  223.         ß¼«Γα¿ΓÑ ¿ßσ«ñ¡δÑ ΓѬßΓδ cell.c, »α«µÑñπαá CellClientProc.
  224.  
  225. lSize:  ºáñáÑΓ Γ«τ¡δ⌐ αẼÑα «ñ¡«⌐ ¿º ∩τÑѬ. ìá»α¿¼Ñα: ñ½∩ αáºñѽѡ¡«⌐ »«
  226.         óÑαΓ¿¬á½¿ »á¡Ñ½¿ φΓ« íπñÑΓ ú«α¿º«¡Γá½∞¡δ⌐ αẼÑα «ñ¡«⌐ ¿º ∩τÑѬ,
  227.         ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, ¬á¬«⌐ Σ½áú π¬áºá¡ ó lType. ä½∩ CELL_SIZE1
  228.         φΓ« íπñÑΓ αẼÑα ½Ñó«⌐ ∩τÑ⌐¬¿, ñ½∩ CELL_SIZE2 - »αáó«⌐.
  229.         ä½∩ αáºñѽѡ¡«⌐ »« ú«α¿º«¡Γ὿ »á¡Ñ½¿ φΓ« íπñÑΓ, ß««ΓóÑΓßΓóÑ¡¡«,
  230.         αẼÑα ¡¿ª¡Ñ⌐ ¿ óÑασ¡Ñ⌐ τáßΓÑ⌐.
  231.  
  232. ö½áú¿ ¿º ßÑα¿¿ CELL_
  233.  
  234.  
  235. CELL_WINDOW      - ƒτÑ⌐¬á ∩ó½∩ÑΓß∩ «¬¡«¼ (¬«¡Γα«½«¼)
  236. CELL_VSPLIT      - è«¡ΓÑ⌐¡Ñα ∩τÑѬ »«ñѽѡ »« óÑαΓ¿¬á½¿
  237. CELL_HSPLIT      - è«¡ΓÑ⌐¡Ñα »«ñѽѡ »« ú«α¿º«¡Γ὿
  238. CELL_SPLITBAR    - è«¡ΓÑ⌐¡Ñα ß«ñÑαª¿Γ splitbar
  239. CELL_FIXED       - ÉẼÑα ¡Ñ½∞º∩ ¿º¼Ñ¡∩Γ∞, ñáªÑ »α¿ ¡á½¿τ¿¿ splitbar
  240. CELL_SIZE1       - Æ«τ¡δ⌐ αẼÑα π¬áºá¡ ñ½∩ »á¡Ñ½¿ 1 (¡¿ª¡∩∩ ¿½¿ ½Ñóá∩)
  241. CELL_SIZE2       - Æ«τ¡δ⌐ αẼÑα π¬áºá¡ ñ½∩ »á¡Ñ½¿ 2 (óÑασ¡∩∩ ¿½¿ »αáóá∩)
  242. CELL_SPLIT10x90  -\
  243. CELL_SPLIT20x80  -|
  244. CELL_SPLIT30x70  -|
  245. CELL_SPLIT40x60  -|
  246. CELL_SPLIT50x50  - > ö½áú¿ ºáñáεΘ¿Ñ ¡áτá½∞¡«Ñ «Γ¡«ΦÑ¡¿Ñ αẼÑα«ó ∩τÑѬ
  247. CELL_SPLIT60x40  -|
  248. CELL_SPLIT70x30  -|
  249. CELL_SPLIT80x20  -|
  250. CELL_SPLIT90x10  -/
  251.  
  252. ìá»α¿¼Ñα, ßΓαπ¬Γπαá CellDef, ºá»«½¡Ñ¡á∩ Γᬿ¼ «íαẫ¼:
  253.  
  254. CellDef lPanel =
  255. {
  256.     CELL_VSPLIT | CELL_SPLITBAR | CELL_SPLIT70x30,
  257.     0,
  258.     "",
  259.     WS_VISIBLE,
  260.     ID_LPANE,
  261.     &uPanel,
  262.     &dPanel
  263. };
  264.  
  265. ß«ºñáÑΓ αáºñѽѡ¡πε »« óÑαΓ¿¬á½¿ »á¡Ñ½∞, ß »α«»«µ¿∩¼¿ ½Ñó«⌐ ¿ »αáó«⌐ τáßΓÑ⌐
  266. 70 ¬ 30 ¿ ß «»¿ßá¡¿∩¼¿ ó¡πΓαÑ¡¡«ßΓÑ⌐ »á¡Ñ½Ñ⌐ ó ß««ΓóÑΓßΓóπεΘ¿σ ßΓαπ¬Γπαáσ.
  267.  
  268. Åα¿¼Ñαδ Γᬿσ ßΓαπ¬Γπα éδ ¡á⌐ñÑΓÑ ó multibar.c.
  269. Äñ¿¡ ¿º ¿¡ΓÑαÑß¡δσ »α¿¼Ñα«ó ¿ß»«½∞º«óá¡¿∩ φΓ«⌐ ΓÑσ¡¿¬¿ »α¿óÑñÑ¡ ó nbsample.c.
  270.  
  271. çáΓѼ ¿ß»«½∞ºπ∩ «»¿ßá¡¡δÑ Γᬿ¼ «íαẫ¼ «¬¡á ¿σ ¼«ª¡« ß«ºñáóáΓ∞ ß »«¼«Θ∞ε
  272. Σπ¡¬µ¿¿ CreateCell. èα«¼Ñ π¬áºáΓѽ∩ ¡á ßΓαπ¬Γπαπ-«»¿ßáΓѽ∞, Ñ⌐ »ÑαÑñáεΓß∩ ñóá
  273. σÑ¡ñ½á «¬«¡: α«ñ¿Γѽ∞ ¿ ó½áñѽѵ. (ä½∩ ΓÑσ, ¬Γ« ÑΘÑ ¡Ñ αẫíαá½ß∩ ó αạ¿µÑ
  274. ¼Ñªñπ ¡¿¼¿: α«ñ¿Γѽ∞ - φΓ« Γ« «¬¡«, ¬«Γ«α«Ñ Σ«α¼á½∞¡« ó½áñÑÑΓ «¬¡«¼,
  275. Γ« ÑßΓ∞ «ΓóÑτáÑΓ ºá Ñú« »«½«ªÑ¡¿Ñ ¡á φ¬αá¡Ñ, »«ß¬«½∞¬π ¬««αñ¿¡áΓδ ß«ºñáóáѼ«ú«
  276. «¬¡á «Γßτ¿ΓδóáεΓß∩ «Γ α«ñ¿Γѽ∩, ºá ó¿ñ¿¼«ßΓ∞ ¿ π¡¿τΓ«ªÑ¡¿Ñ. é½áñѽѵ - φΓ« Γ«
  277. «¬¡«, ¬«Γ«α«Ñ íπñÑΓ »«½πτáΓ∞ ß««íΘÑ¡¿∩, Γ«τ¡ÑÑ πóÑñ«¼½Ñ¡¿∩ «Γ ñá¡¡«ú« «¬¡á.
  278. ìá»α¿¼Ñα, ¬¡«»¬á, π ¬«Γ«α«⌐ α«ñ¿ΓѽѼ π¬áºá¡ ñÑß¬Γ«», á ó½áñѽ∞µÑ¼ «¬¡« éáΦÑ⌐
  279. »α«úαá¼¼δ, íπñÑΓ αáß»«½áúáΓ∞ß∩ ¡á ñÑß¬Γ«»Ñ, ¡« ß««íΘÑ¡¿∩ « ÑÑ ¡áªáΓ¿¿ íπñÑΓ
  280. »«½πτáΓ∞ »α«µÑñπαá «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐ «¬¡á ó éáΦÑ⌐ »α«úαá¼¼Ñ).
  281. ä½∩ ú½áó¡«ú« «¬¡á «íδτ¡« π¬áºδóáεΓ α«ñ¿Γ¿½Ñ¼ HWND_DESKTOP, á ó½áñѽ∞µÑ¼ 0.
  282. äÑΓ὿ ß«ºñá¡¿∩ ∩τÑѬ ¼«ª¡« »«ß¼«ΓαÑΓ∞ ó cell.c, »α«µÑñπαá CreateCell.
  283.  
  284.     ìѼ¡«ª¬« « ß«ºñá¡¿¿ Γπ½íáα«ó.
  285.  
  286. ä½∩ ß«ºñá¡¿∩ Γπ½íáαá, ¡Ñ«íσ«ñ¿¼« ºá»«½¡¿Γ∞ ßΓαπ¬Γπαπ TbDef. Ä¡á ßπΘÑßΓóÑ¡¡«
  287. »α«ΘÑ ¿ ß«ñÑαª¿Γ óßÑú« Γα¿ »«½∩:
  288.  
  289. typedef struct
  290. {
  291.     LONG  lType;   // Toolbar flags
  292.     ULONG ulID;    // Toolbar window ID
  293.     ULONG *tbItems;
  294. } TbDef;
  295.  
  296. lType  : Σ½áú¿.
  297. ulID   : ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γπ½íáαá.
  298. tbItems: π¬áºáΓѽ∞ ¡á «»¿ßá¡¿Ñ ¬¡«»«¬.
  299.  
  300.  
  301. TB_BUBBLE      - Æπ½íáα ¿¼ÑÑΓ »πºδα∞¬«óπε »«ñ߬Ậπ
  302. TB_VERTICAL    - Éáß»«½«ªÑ¡ óÑαΓ¿¬á½∞¡«
  303. TB_FLOATING    - ìÑ »α¿ß«Ññ¿¡Ñ¡ ¬ «¬¡π.
  304. TB_ATTACHED_LT - Åα¿ß«Ññ¿¡Ñ¡ ß½Ñóá
  305. TB_ATTACHED_TP - -//-//-//-- ßóÑασπ
  306. TB_ATTACHED_RT - -//-//-//-- ß»αáóá
  307. TB_ATTACHED_BT - -//-//-//-- ß¡¿ºπ
  308.  
  309. Ä»¿ßá¡¿Ñ ¬¡«»«¬ - φΓ« ¼áßß¿ó ULONG-«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ºáñáÑΓ ID ¬¡«»¬¿, ¿
  310. ºáóÑαΦáÑΓß∩ 0. æ»Ñµ¿á½∞¡δ⌐ ID TB_SEPARATOR ºáñáÑΓ αáºñѽ¿Γѽ∞ ¼Ñªñπ ¬¡«»¬á¼¿
  311. ¡á »á¡Ñ½¿. ä½∩ ¬áªñ«⌐ ¬¡«»¬¿ ó Σá⌐½Ñ αÑßπαß«ó ñ«½ªÑ¡ íδΓ∞ »α¿»áßÑ¡ í¿Γ¼á»
  312. ß Γᬿ¼ ªÑ ID (ß¼«Γα¿ΓÑ »α¿¼Ñαδ »α«úαá¼¼). ä½∩ TB_SEPARATOR αÑßπαß ¡Ñ ¡πªÑ¡.
  313. àß½¿ ñ½∩ Γπ½íáαá π¬áºá¡ Σ½áú TB_BUBBLE, Γ« «í∩ºáΓѽ∞¡« ¡á½¿τ¿Ñ ó Σá⌐½Ñ
  314. αÑßπαß«ó αÑßπαßá Γ¿»á STRINGTABLE, ¿ ß««ΓóÑΓßΓóπεΘ¿¼¿ ID.
  315.  
  316. Æπ½íáα ß«ºñáÑΓß∩ ß »«¼«Θ∞ε ó맮óá CreateToolbar ¿ ßΓá¡«ó¿Γß∩ τáßΓ∞ε «¬¡á.
  317. Åáαá σ¿¡Γ«ó:
  318.     ¡Ñ»α¿ß«Ññ¿¡Ñ¡¡δ⌐ Γπ½íáα ¼«ª¡« »ÑαѬ½ετáΓ∞ óÑαΓ¿¬á½∞¡δ⌐ / ú«α¿º«¡Γá½∞¡δ⌐
  319.     »πΓѼ ñó«⌐¡«ú« ¬½¿¬á ½Ñó«⌐ ¬¡«»¬«⌐ ¼δΦ¬¿ ¡á "απτ¬Ñ".
  320.     »πºδα∞¬«óπε »«ñß¬áº¬π ¼«ª¡« ó¬½ετáΓ∞/ó䬽ετáΓ∞ (Ñß½¿ «¡á íδ½á »αÑñπß¼«ΓαÑ¡á)
  321.     »πΓѼ ñó«⌐¡«ú« ¬½¿¬á »αáó«⌐ ¬¡«»¬«⌐ ¼δΦ¬¿ ¡á "απτ¬Ñ".
  322.  
  323.     ìÑ߬«½∞¬« ß½«ó ó ºáóÑαΦÑ¡¿Ñ.
  324.  
  325.     ÄτÑó¿ñ¡«, τΓ« ∩ ¡Ñ ¡Ñßπ ¡¿¬á¬«⌐ «ΓóÑΓßΓóÑ¡¡«ßΓ¿ ºá ß¿Ñ τπñ« óαáªñÑí¡«⌐
  326. ΓÑσ¡«½«ú¿¿, ¡Ñß¼«Γα∩ ¡á ¼«Ñ áóΓ«αßΓó« :) ìπ ó«íΘѼ, »«¡∩Γ¡«.
  327.  
  328.     é óÑαß¿¿ 0.6d »«Σ¿¬ßÑ¡ íáú ß »«ΓÑαÑÑ⌐ Γπ½íáα«ó, ñ«ó«½∞¡« ß¿½∞¡« ¿º¼Ñ¡Ñ¡δ
  329. ¡Ñ¬«Γ«αδÑ τáßΓ¿ «ΓóÑτáεΘ¿Ñ ºá αáí«Γπ ß Γπ½íáαἿ ¿ ó佫ó½Ñ¡« ¡Ñ¬«Γ«α«Ñ
  330. ¬«½¿τÑßΓó« í«½ÑÑ ¼Ñ½¬¿σ íáú«ó.
  331.  
  332.     äá, »«½∞º«óáΓ∞ß∩ Cell Toolkit ¼«ª¡« ß«óÑαΦÑ¡¡« ßó«í«ñ¡«, »α¿ πß½«ó¿¿,
  333. ß«σαá¡Ñ¡¿∩ ¼«Ñú« (æ) ¿ »α¿ πß½«ó¿¿, τΓ« éδ ¡Ñ ºáíπñÑΓÑ »«¼∩¡πΓ∞ ¼Ñ¡∩ ó
  334. credits éáΦÑ⌐ »α«úαá¼¼δ.
  335.  
  336.     éßÑ ºá¼Ñτá¡¿∩, »«ªÑ½á¡¿∩, íáúαÑ»«αΓδ, Σ¿¬ßδ, »¿ó«, ¬«¬π, ñÑ¡∞ú¿ ¿ »α«ßΓ«
  337. «Γ¬αδΓ¬¿ ¼«ª¡« ¡á»αáó½∩Γ∞ ¡á:
  338.  
  339.     e-mail: evsi@naverex.kiev.ua
  340.     FIDO  : 2:463/114.69
  341.     Sergey I. Yevtushenko.
  342.  
  343.