Воскресенье, 24.11.2024, 13:41
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
Mess Box [3]
MSB Script [8]
Скриптовой язык MSB
Форма входа
Поиск
Друзья сайта

 

Клуб сайта DIM-S.NET

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Главная » Статьи » Mess Box

Мультискиновость
Мультискиновость.

Как вы знаете, в программе можно задать только один скин. Но в этой статье мы расскажем как сделать вашу программу с несколькими скинами и как вообще задать скин по нажатию на кнопку.

И так. Создадим форму, и кинем на нее выпадающий список и кнопку "Изменить скин".

Нужно создать папку "Skins" в папке вашего проекта (из этой папки будет доставаться весь список доступных скинов динамически). Далее заходим в папку с программой Mess Box в "\Skins\". Тут хранятся все скины (они имеют формат .asz), копируем их в нашу папку скинов. Подготовка проекта завершена.

Теперь нам нужно динамически загрузить весь список файлов-скинов из нашей папки skins в выпадающий список. Для этого выбираем событие "создание" нашего списка. И добавляем туда следующие действия-скрипт. (через редактор кода).


$files = array();
FindFilesEx($Prog_dir$."\skins\",".asz",false,$files);
SetList(Combo_1,$files);
Combo_1.ItemIndex = 0;
Здесь мы объявляем массив $files (в нем будут храниться найденные файлы), далее с помощью функции FindFileEx находим все файлы в папке "\skins\", где false параметр означает возвращать ли относительные имена файла. Все названия скинов загоняются в массив $files. Потом, с помощью функции SetList загоняем массив в список, для того чтобы мы визуально видели, какие скины нашли и после этого устанавливаем выбранный элемент выпадающего списка в начала (0 - начальный индекс).

И так, мы в результате получили весь список доступных скинов из папки, и теперь если в папке появится новый скин он также обнаружится нашей программой как и остальные.

Теперь самое интересное, будем применять и менять скин нашей программы.
Назначаем нашей кнопке "Изменить скин" на нажатие следующий скрипт:


$skin = ListSelected(Combo_1);
$skin = copy_l($skin,".");
MSB.SkinManager.SkinDirectory = $Prog_dir$."\skins";
MSB.SkinManager.SkinName = $skin;
MSB.SkinManager.Active = true;
И так, в первой строчке мы достаем текст выделенного элемента из выпадающего списка и помещаем в переменную $skin, затем удолям лишнее с помощью функции copy_l() расширение файла ".asz" (оно нам не нужно, название скина должно быть без расширения). Copy_l - копирует левую часть от заданного символа. В результате получаем название скина. Далее...

MSB - это невидимая форма (которая есть во всех проектах), на ней находится уникальный объект SkinManager, с помощью которого и будем управлять скинами.

Как видите SkinManager имеет свойство SkinDirectory - папка со скинами. В первой строчке мы задаем папку со скинами.

SkinName - название скина, тут мы просто задаем название нашего выбранного скина.
Active = true - и активизируем систему скинизирования, если мы поставим false, то наоборот деактивируем ее.

Вот и все. Ваша программа научилась мультискиновости.

Здесь можно скачать проект пример: Скачать (30.2Kb)
Категория: Mess Box | Добавил: Dim-S (09.11.2008)
Просмотров: 2007 | Комментарии: 5 | Рейтинг: 5.0/3 |
Всего комментариев: 5
5 SJ-888  
0
Прога просто СУПЕР!!!!!!!!!!! happy

4 sacso  
0
Я вобще безумно рад такому творению!!! Программа супер тем более что она изначально помогает мне изучить начальные навыки языка програмирования не лазя в более сложные языки. Пасиб за статью и программму автору!

3 Flocker  
0
Супер спасибо огромное.. happy

2 Haker  
0
У мен бывало что какоето окно появлясь панели задачь и я его немог открыть! У него было название Mess Box DVI 4.4.0.... дальше непонмю!

1 Haker  
0
А что хорошая статья biggrin

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Хостинг от uCozDim-S Software © 2004-2024. Все права защищены.
support@dim-s.net