Разукрасьте Ваше приложение

Статьи » Графика и игры » Разукрасьте Ваше приложение

SkinForm - это компонент, который поможет Вам создать "не-квадратное" окно и вто же время применить к нему так называемую технологию "skin", наподобие таких популярных программ как WinAMP, WPlay ..., зачем тратить часы на программирование, когда это можно сделать за пару минут!

Скачать сам компонент можно с http://www.qwerks.com/download.asp?ProductID=2447. WYSIWYG скин билдер, который входит в состав архива, предназначен для создания информационного файла, описывающего структуру нашей формы. Всё, что надо сделать - это создать несколько картинок, и нарисовать кнопки, текстовые поля и т.д.. Есть возможность постоянно смотреть превью! Теперь посмотрим, какие нам предоставлены возможности: a.поддержка файлов bmp и jpeg b.поддержка графических кнопок, а так же переключающиеся и радои кнопки c.поддержка текста, графического текста и цифр d.поддержка графического track bar e.поддержка multi skin-ов, то есть Вы можете создать свой скин для каждой формы приложения f.поддержка внутренних скинов, то есть скины могут быть сохранены в ресурсном файле Теперь наши действия: - Создаём bitmap файлы для скина - Запускаем Skin Builder для создания информационного файла - Создаём новый проект. - Помещаем компонент TSkinForm в форму - Компилируем Посмотрим на script файл, созданный SkinBuilder-ом:

[VERSION] Ver=210   // Версия скин-файла [BITMAPINFO]                          MaskBitmap=PlayerMask.bmp                              // Bitmap файл маски поверхности формы MouseUpBitmap=PlayerMain.jpg                          // Bitmap файл, если кнопка мыши была отпущена MouseDownBitmap=PlayerSel.jpg                      // Bitmap файл, если кнопка мыши была нажата MouseOnBitmap=PlayerSel.jpg                            // Bitmap файла, если на объекте находится курсор мыши NumbersBitmap=                                                // Bitmap файл для графических цифр (не обязательно)TextBitmap=                                                      // Bitmap файл для графического текста (не обязательно) [HOTAREAINFO]                          Count=19   // Общее количество кнопок // Описание каждой кнопки // number=ID, top, left, width, height, hint [, button state, group name] // Значения в [ ] не обязательны 1=BUTTON_PLAY, 54, 165, 34, 35, Play/Pause          2=BUTTON_STOP, 129, 165, 19, 35, Stop              3=BUTTON_NEXT, 90, 165, 18, 17, Next 4=BUTTON_PREV, 109, 165, 18, 17, Previous ... [DISPLAYINFO]                          Charset=1      // Charset текстовой области Count=3        // количество тектовых полей // Описание каждой текстовой области // number=ID, font name, bold, italic, size, color, top, left, style, default text, hint, width, height 1=TEXT_LEN, Arial, TRUE, FALSE, 9, $00366835, 116, 137, Normal, [00:00], Length, 51, 18 2=TEXT_POS, Arial, TRUE, FALSE, 12, $00366835, 55, 133, Normal, 00:00, Position, 52, 23 3=TEXT_SONG, MS Sans Serif, FALSE, FALSE, 7, $00366835, 56, 112, Normal, Song Name, Song Name, 111, 21 [TRACKBARINFO] Count=2   // Количество track-баров // Описание каждого трак-бара // number=ID, trackbar bitmap file, trackbar bitmap file, top, left, length, style, position, hint 1=TRACKBAR_VOLUME, TrackBar.BMP, TrackBar.BMP, 79, 205, 88, H, 65, Volume 2=TRACKBAR_POS, TrackBar.BMP, TrackBar.BMP, 79, 217, 88, H, 0, Time

Ну вот Ваше приложение и разукрасилось и, как видите, безо всякого программирования. Теперь можно добавить код, чтобы перехватывать события на кнопках -  MouseUp, Down, Over ...

The following is sample code: ... procedure

TForm1.FormCreate(Sender: TObject); begin

     //Загружаем скин файл      SkinForm1.LoadDefaultSkin;      SkinForm1.SetDisplayText('VOLUME', IntToStr(SkinForm1.GetTrackBarPos('TRACKBAR_VOLUME')));      SkinForm1.SetDisplayText('TIME', IntToStr(SkinForm1.GetTrackBarPos('TRACKBAR_POS')));      SkinForm1.SetTrackBarMinMax('TRACKBAR_VOLUME', 20, 80); end

;

procedure

TForm1.SkinForm1MouseUpNotify(ID: String; Button: TMouseButton;   Shift: TShiftState; X, Y: Integer); var

   pos : TPoint; begin

     if

(Button = mbLeft) then

     begin

          if

ID = 'BUTTON_EXIT' then

               Close;           if

ID = 'BUTTON_MINIMIZE' then

               Form1.Perform(WM_SYSCOMMAND, SC_MINIMIZE, 0);           if

ID = 'BUTTON_MENU' then

          begin

               pos := ClientToScreen(Point(X, Y));                PopupMenu1.Popup(pos.x, pos.y);           end

;

     end

;

     if

(Button = mbRight) then

     begin

          pos := ClientToScreen(Point(X, Y));           PopupMenu1.Popup(pos.x, pos.y);      end

;

...

Источник - www.sources.ru

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com