Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
CheckBox со своим дизайном
СергейДата: Ср, 20 Октября 2010, 23:47 | Сообщение # 1
Необукер
В этом примере показан способ, как динамически менять значок (иконку) в объекте PushButton (Кнопка) оставив при этом события Mous_Enter\Mous_Exit. Что это нам дает?! Например: Есть проект со своим дизайном и в нем необходимо использовать CheckBox, но штатный CheckBox не вписывается в дизайн и поменять стиль нельзя, что делать?! Вот тут и пригодится способ "динамической смены значка"


Способ очень прост, надо в "Свойствах" объекта PushButton (Кнопка) на вкладке "Вид" выбрать опцию "Рисунок из библиотеки кнопок" выбирать значок из библиотеки не обязательно (т.к. можно задать программно) тут дело вкуса
Далее, там же выбрать вкладку "Команды" и на событии "Left Click" написать следующий код:
Quote
If "[chbox1]" "=" ""
SetObjectFileName "[Self]" "[PubDir]CheckBoxChecked.jpg"
SetVar "[chbox1]" "Checked"
Else
SetObjectFileName "[Self]" "[PubDir]CheckBox.jpg"
SetVar "[chbox1]" ""
EndIf

Разберем код по пунктам:
1) Переменая [chbox1] это флаг, который будет содержать состояние нашего CheckBox-а
2) SetObjectFileName "[Self]" "путь_до_значка_состояния_Включено/Checked" командой назначаем объекту новый значок. Можно использовать [Embedded]
3) SetVar "[chbox1]" "Checked" заносим состояние (см. пункт 1)
4) Аналогично и для Else только все наоборот, очищаем переменную\флаг состояния и возвращаем прежний значок.
Можно тестировать, но перед тестированием, тем, кто не назначал значок в библиотеке надо в "Свойствах" страницы на вкладке "Команды" на событии "Page Enter" написать следующий код:
Quote
SetObjectFileName "имя_объекта" "путь_до_значка"

----------------------------

Для простоты можно упростить код за счет имени файла-значка
Есть два значка, стиль Включено и стиль Отключено. Имя файла-значка(со стилем Включено)пусть будет CheckBoxChecked.jpg(или CheckBox1.jpg), а второй CheckBox.jpg. Тогда код можно оформить так:
Quote
If "[chbox]" "=" ""
SetVar "[chbox]" "Checked"
. или так SetVar "[chbox]" "1"
Else
SetVar "[chbox]" ""
EndIf
SetObjectFileName "[Self]" "[PubDir]CheckBox[chbox].jpg"

В примере имитировал следующие объекты: CheckBox, Кнопка - CheckBox, Выключатели-кнопки, RadioButton и ListBox


На этом все. Желаю удачи :)
Автор данного способа Я :D
Прикрепления: CheckBoxCustom.rar (491.8 Kb) · 4702093.jpg (48.4 Kb)


Сообщение отредактировано
Сергей - Вт, 23 Августа 2011, 20:35
 
СообщениеВ этом примере показан способ, как динамически менять значок (иконку) в объекте PushButton (Кнопка) оставив при этом события Mous_Enter\Mous_Exit. Что это нам дает?! Например: Есть проект со своим дизайном и в нем необходимо использовать CheckBox, но штатный CheckBox не вписывается в дизайн и поменять стиль нельзя, что делать?! Вот тут и пригодится способ "динамической смены значка"


Способ очень прост, надо в "Свойствах" объекта PushButton (Кнопка) на вкладке "Вид" выбрать опцию "Рисунок из библиотеки кнопок" выбирать значок из библиотеки не обязательно (т.к. можно задать программно) тут дело вкуса
Далее, там же выбрать вкладку "Команды" и на событии "Left Click" написать следующий код:
Quote
If "[chbox1]" "=" ""
SetObjectFileName "[Self]" "[PubDir]CheckBoxChecked.jpg"
SetVar "[chbox1]" "Checked"
Else
SetObjectFileName "[Self]" "[PubDir]CheckBox.jpg"
SetVar "[chbox1]" ""
EndIf

Разберем код по пунктам:
1) Переменая [chbox1] это флаг, который будет содержать состояние нашего CheckBox-а
2) SetObjectFileName "[Self]" "путь_до_значка_состояния_Включено/Checked" командой назначаем объекту новый значок. Можно использовать [Embedded]
3) SetVar "[chbox1]" "Checked" заносим состояние (см. пункт 1)
4) Аналогично и для Else только все наоборот, очищаем переменную\флаг состояния и возвращаем прежний значок.
Можно тестировать, но перед тестированием, тем, кто не назначал значок в библиотеке надо в "Свойствах" страницы на вкладке "Команды" на событии "Page Enter" написать следующий код:
Quote
SetObjectFileName "имя_объекта" "путь_до_значка"

----------------------------

Для простоты можно упростить код за счет имени файла-значка
Есть два значка, стиль Включено и стиль Отключено. Имя файла-значка(со стилем Включено)пусть будет CheckBoxChecked.jpg(или CheckBox1.jpg), а второй CheckBox.jpg. Тогда код можно оформить так:
Quote
If "[chbox]" "=" ""
SetVar "[chbox]" "Checked"
. или так SetVar "[chbox]" "1"
Else
SetVar "[chbox]" ""
EndIf
SetObjectFileName "[Self]" "[PubDir]CheckBox[chbox].jpg"

В примере имитировал следующие объекты: CheckBox, Кнопка - CheckBox, Выключатели-кнопки, RadioButton и ListBox


На этом все. Желаю удачи :)
Автор данного способа Я :D

Автор - Сергей
Дата добавления - 20 Октября 2010 в 23:47
AlienДата: Чт, 21 Октября 2010, 04:18 | Сообщение # 2
хоть бы архивировал :(
я задолбался искать как прописать путь к этим картинкам

Добавлено (21 Октябрь 2010, 04:18)
---------------------------------------------
p.s. а вообще прикольно :)
может ещё придумаем radiobox, listbox, combobox, field со своим дизайном?

 
Сообщениехоть бы архивировал :(
я задолбался искать как прописать путь к этим картинкам

Добавлено (21 Октябрь 2010, 04:18)
---------------------------------------------
p.s. а вообще прикольно :)
может ещё придумаем radiobox, listbox, combobox, field со своим дизайном?


Автор - Alien
Дата добавления - 21 Октября 2010 в 04:18
СергейДата: Чт, 21 Октября 2010, 04:50 | Сообщение # 3
Необукер
Quote (Alien)
я задолбался искать как прописать путь к этим картинкам
да че там искать, по идее не там надо искать, а программно прописывать(так правильнее), ктому же я предупредил :)
а архивирование не помогло бы, я назначал картинку в библиотеке кнопок, а они не тусуются :D
 
Сообщение
Quote (Alien)
я задолбался искать как прописать путь к этим картинкам
да че там искать, по идее не там надо искать, а программно прописывать(так правильнее), ктому же я предупредил :)
а архивирование не помогло бы, я назначал картинку в библиотеке кнопок, а они не тусуются :D

Автор - Сергей
Дата добавления - 21 Октября 2010 в 04:50
PeterДата: Чт, 21 Октября 2010, 05:35 | Сообщение # 4
Админ NeoBook
Кстати, получилось и впрямь недурно! thumbs_up
Своего рода "ноу-хау".
Сергей, если оформить все путем, то можно будет и загрузить в нашу "сокровищницу". ;)
Если, конечно, ты не против.
Quote (Сергей)
а программно прописывать(так правильнее),

Ещё проще - бросить папку в картинками кнопок в библиотеку кнопок, перименовать её соответственно, и... ФСЁ!
Проект же при запуске дает подсказку...
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеКстати, получилось и впрямь недурно! thumbs_up
Своего рода "ноу-хау".
Сергей, если оформить все путем, то можно будет и загрузить в нашу "сокровищницу". ;)
Если, конечно, ты не против.
Quote (Сергей)
а программно прописывать(так правильнее),

Ещё проще - бросить папку в картинками кнопок в библиотеку кнопок, перименовать её соответственно, и... ФСЁ!
Проект же при запуске дает подсказку...
:)

Автор - Peter
Дата добавления - 21 Октября 2010 в 05:35
СергейДата: Чт, 21 Октября 2010, 16:31 | Сообщение # 5
Необукер
Quote (Peter)
Своего рода "ноу-хау".
все началось, когда вкрай понадобилось кнопка с чебоксом, а потом и стильный чебокс... Хтмл, ну ни как не хотел мусорить проект, после N-литров кофиюшки нарыл это :D
Quote (Peter)
Если, конечно, ты не против.
я не против, чуть позже сделаю проект, а сейчас что то лень...
Quote (Peter)
Ещё проще
это нам проще, но сам видишь, лучше программно все сделать, чтоб потом не постили- "НЕработает!!!"

Да, Peter, не раз убеждаемся в скрытых возможностях красавицы ;)

Добавлено (21 Октябрь 2010, 16:31)
---------------------------------------------

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


Сообщение отредактировано
Сергей - Чт, 21 Октября 2010, 16:40
 
Сообщение
Quote (Peter)
Своего рода "ноу-хау".
все началось, когда вкрай понадобилось кнопка с чебоксом, а потом и стильный чебокс... Хтмл, ну ни как не хотел мусорить проект, после N-литров кофиюшки нарыл это :D
Quote (Peter)
Если, конечно, ты не против.
я не против, чуть позже сделаю проект, а сейчас что то лень...
Quote (Peter)
Ещё проще
это нам проще, но сам видишь, лучше программно все сделать, чтоб потом не постили- "НЕработает!!!"

Да, Peter, не раз убеждаемся в скрытых возможностях красавицы ;)

Добавлено (21 Октябрь 2010, 16:31)
---------------------------------------------

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

Автор - Сергей
Дата добавления - 21 Октября 2010 в 16:31
PeterДата: Чт, 21 Октября 2010, 18:48 | Сообщение # 6
Админ NeoBook
Quote (Сергей)
не раз убеждаемся в скрытых возможностях красавицы

В том-то и дело, что NB порой даже самих разработчиков удивляет своими скрытыми возможностями!
:D
Quote (Сергей)
обновил первый пост, это все что я смог придумать и сделать

Как демонстрационный проект то, что надо!
Единственное, что следует добавить - краткое описание.
Да и об авторских правах забывать не стОит!
Это как-раз тот случай, когда они не помешают.

А то порой: кода (причем кривого) на три-пять строчек, а "авторских прав" - на целое окно, да в алмазах!
:D


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Сергей)
не раз убеждаемся в скрытых возможностях красавицы

В том-то и дело, что NB порой даже самих разработчиков удивляет своими скрытыми возможностями!
:D
Quote (Сергей)
обновил первый пост, это все что я смог придумать и сделать

Как демонстрационный проект то, что надо!
Единственное, что следует добавить - краткое описание.
Да и об авторских правах забывать не стОит!
Это как-раз тот случай, когда они не помешают.

А то порой: кода (причем кривого) на три-пять строчек, а "авторских прав" - на целое окно, да в алмазах!
:D


Автор - Peter
Дата добавления - 21 Октября 2010 в 18:48
AlienДата: Чт, 21 Октября 2010, 18:58 | Сообщение # 7
Сергей, айподовский чекбокс некрасивый, белые контуры меня смущают no
 
СообщениеСергей, айподовский чекбокс некрасивый, белые контуры меня смущают no

Автор - Alien
Дата добавления - 21 Октября 2010 в 18:58
СергейДата: Пт, 22 Октября 2010, 11:17 | Сообщение # 8
Необукер
Quote (Alien)
Сергей, айподовский чекбокс некрасивый
ну сделай красивый, мое дело показать новый метод, а красоту наводите сами. Из всех картинок представленых в примере моих нет, все из сети...

Добавлено (22 Октябрь 2010, 11:16)
---------------------------------------------

Quote (Peter)
Единственное, что следует добавить - краткое описание
добавил, и в первом посте и в самом проекте....

Добавлено (22 Октябрь 2010, 11:17)
---------------------------------------------
чем то похоже на урок :D

 
Сообщение
Quote (Alien)
Сергей, айподовский чекбокс некрасивый
ну сделай красивый, мое дело показать новый метод, а красоту наводите сами. Из всех картинок представленых в примере моих нет, все из сети...

Добавлено (22 Октябрь 2010, 11:16)
---------------------------------------------

Quote (Peter)
Единственное, что следует добавить - краткое описание
добавил, и в первом посте и в самом проекте....

Добавлено (22 Октябрь 2010, 11:17)
---------------------------------------------
чем то похоже на урок :D


Автор - Сергей
Дата добавления - 22 Октября 2010 в 11:17
ФаридДата: Сб, 23 Октября 2010, 19:48 | Сообщение # 9
Ветеран форума
вау... Классно... спасибо thumbs_up

Дата регистрации: Вс, 30 Мая 2010, 21:05
Этож было вчера
 
Сообщениевау... Классно... спасибо thumbs_up

Автор - Фарид
Дата добавления - 23 Октября 2010 в 19:48
  • Страница 1 из 1
  • 1
Поиск: