Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. <html>
  2.     <head>
  3.         <title>Элемент farme</title>
  4.         <meta charset="UTF-8">
  5.         <link href="../style.css" type=text/css rel=stylesheet>
  6.     </head>
  7.     <body>
  8.         <p><a href="../box_lib.htm">На главную &uarr;</a></p>
  9.         <h1>Введение</h1>
  10.             <p>
  11.                 Этот элемент предназначен для визуальной группировки остальных выводимых на экран
  12.                 объектов, и придания этой группе некого, объединяющего их, названия. Этот элемент
  13.                 имеет одну функцию.
  14.             </p>
  15.         <h1>Функция frame_draw</h1>
  16.             <p>Это stdcall функция принимающая указатель на структуру. Эту функцию необходимо вызывать
  17.                 во время перерисовки окна.
  18.             </p>
  19.         <h1>Структура farme</h1>
  20.                     FR_STYLE         equ +0  ; Dword<br>
  21.                     FR_WIDTH         equ +4  ; Word <br>
  22.                     FR_LEFT          equ +6  ; Word <br>
  23.                     FR_HEIGHT        equ +8  ; Word <br>
  24.                     FR_TOP           equ +10 ; Word <br>
  25.                     FR_OUTER_COLOR   equ +12 ; Dword<br>
  26.                     FR_INNER_COLOR   equ +16 ; Dword<br>
  27.                     FR_FLAGS         equ +20 ; Dword<br>
  28.                     FR_TEXT          equ +24 ; Dword<br>
  29.                     FR_TEXT_POSITION equ +28 ; Dword<br>
  30.                     FR_FONT          equ +32 ; Dword<br>
  31.                     FR_FONT_HEIGHT   equ +36 ; Dword<br>
  32.                     FR_FORE_COLOR    equ +40 ; Dword<br>
  33.                     FR_BACK_COLOR    equ +44 ; Dword<br>
  34.        
  35.         <h1> Описание полей и флагов структуры </h1>
  36.             <ul>
  37.                 <li><p>
  38.                     FR_STYLE - не используется
  39.                 </p></li>
  40.                 <li><p>
  41.                     FR_WIDTH - размер этого элемента по оси x
  42.                 </p></li>
  43.                 <li><p>
  44.                     FR_LEFT - x координата верхнего левого угла
  45.                 </p></li>
  46.                 <li><p>
  47.                     FR_HEIGHT - высота этого элемента
  48.                 </p></li>
  49.                 <li><p>
  50.                     FR_TOP - y координата верхнего левого угла
  51.                 </p></li>
  52.                 <li><p>
  53.                     FR_OUTER_COLOR - внешний цвет рамки при флаге [x][000][z]
  54.                 </p></li>
  55.                 <li><p>
  56.                     FR_INNER_COLOR - внутренний цвет рамки при флаге [x][000][z]
  57.                 </p></li>
  58.                 <li><p>
  59.                     FR_FLAGS - это битовые флаги [x][yyy][z]. Флаги [yyy] влияют на окрас рамки, в
  60.                     примере FR_OUTER_COLOR = 0xff FR_INNER_COLOR = 0xff00
  61.                     <ul>
  62.                         <li>FR_CAPTION equ 00001b это флаг, который указывает, выводить текст или нет</li>
  63.                         <li>FR_DOUBLE  equ 00000b</li>
  64.                             <img src="SCR_1.PNG" >
  65.                         <li>FR_RAISED  equ 00010b</li>
  66.                             <img src="SCR_2.PNG" >
  67.                         <li>FR_SUNKEN  equ 00100b</li>
  68.                             <img src="SCR_3.PNG" >
  69.                         <li>FR_ETCHED  equ 00110b</li>
  70.                             <img src="SCR_4.PNG" >
  71.                         <li>FR_RIDGED  equ 01000b</li>
  72.                             <img src="SCR_5.PNG" >
  73.                         <li>FR_FILLED  equ 10000b это флаг, указывающий на то, закрашивать фон
  74.                             внутри элемента или нет, этот флаг не влияет на фон текста</li>
  75.                     </ul>
  76.                 </p></li>
  77.                 <li><p>
  78.                     FR_TEXT - указатель на строку
  79.                 </p></li>
  80.                 <li><p>
  81.                     FR_TEXT_POSITION - это битовый флаг. Если он установлен в ноль, то надпись
  82.                     будет находится в верхней части рамки, если 1, то надпись будет в нижней
  83.                     части рамки.
  84.                 </p></li>
  85.                 <li><p>
  86.                     FR_FONT - шрифт и формат выводимой строки.</p>
  87.                     <p>
  88.                     0 = 6x9  cp866<br>
  89.                     1 = 8x16 cp866<br>
  90.                     2 = 8x16 UTF-16LE<br>
  91.                     3 = 8x16 UTF-8<br>
  92.                 </p></li>
  93.                 <li><p>
  94.                     FR_FONT_HEIGHT - смещение вверх выводимого текста.
  95.                 </p></li>
  96.                 <li><p>
  97.                     FR_FORE_COLOR - цвет выводимого текста.
  98.                 </p></li>
  99.                 <li><p>
  100.                     FR_BACK_COLOR - цвет фона для текста.
  101.                 </p></li>
  102.             </ul>
  103.         <h1>Некоторые замечания по использованию</h1>
  104.         <p>Структура для функции не очень подходит для создания приложений, поддерживающих системные
  105.             цвета. По этой причине стоит перед отрисовкой элементов окна заранее заполнить некоторые
  106.             поля структуры, а именно: FR_OUTER_COLOR, FR_INNER_COLOR, FR_FORE_COLOR и FR_BACK_COLOR.
  107.             Остальные поля можно заполнить константами данными.
  108.         </p>
  109.         <p>
  110.             Цвета этого элемента стоит делать в соответствии с системными цветами:
  111.             <ul>
  112.                 <li>Для FR_OUTER_COLOR - sc.work_graph</li>
  113.                 <li>Для FR_INNER_COLOR - sc.work_light</li>
  114.                 <li>Для FR_FORE_COLOR - sc.work_text</li>
  115.                 <li>Для FR_BACK_COLOR - sc.work</li>
  116.             </ul>
  117.         </p>
  118.        
  119.     </body>
  120. </html>