Как сделать кнопки плоскими не применяя каток?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как сделать кнопки плоскими?

Сообщение alibek » 20.03.2009 (Пт) 10:40

jangle писал(а):Это также несложно сделать, для создания кнопок-рисунков, которые приподнимаются когда к ним подводишь курсор (как в IE)
можно использовать обычный ToolBar

А зачем мелочиться?
Лучше разместить компонент WebBrowser, на странице объявить стили для :hover и задавать рамку в этом стиле.
Это будет более эмоционально.
Lasciate ogni speranza, voi ch'entrate.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как сделать кнопки плоскими?

Сообщение awl100Alex » 20.03.2009 (Пт) 13:21

arthur2
Спасибо за разъяснение. Я просто не знал, и нигде не мог найти действительного значения BS_FLAT. Получается, что 16-й бит стиля для кнопки отвечает за плоскость.

А кто мне ответит: зачем кнопке 17-бит стиля, который мы получаем по GetWindowLong и возвращаем кнопке обратно с установленным 16-м битом (&H5401A000 в итоге)??? У кнопки это стиля воде как быть не должно (его здесь - &H5400A000 нет), и что он определяет в таком случаи???

И все-таки хотелось бы знать...
И кто мне сможет объяснить одну странную вещь...
Почему свойство Appearance = 0 для CommandButton тупо не работает??? Зачем оно тогда кнопке??? К тому же в самом MSDN указано, что все должно работать не только до... но даже во время выполнения -
http://msdn.microsoft.com/ru-ru/library/k1zs8awx.aspx.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как сделать кнопки плоскими?

Сообщение awl100Alex » 20.03.2009 (Пт) 22:22

HBasic писал(а):Только оказалось, что заказчику нужны неплоские кнопки, а нужно так, чтобы они были не кнопками а рисунками, при подводе курсора к которым у них очерчиваються границы, а при нажатии меняеться цвет фона.Придеться делать вручную.Избаловали их этим дизайном, блин.

Может быть этот ocx подойдет?..
Вложения
NewGrafButton.rar
(23.03 Кб) Скачиваний: 61

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Как сделать кнопки плоскими?

Сообщение jangle » 21.03.2009 (Сб) 9:41

alibek писал(а):А зачем мелочиться?
Лучше разместить компонент WebBrowser, на странице объявить стили для :hover и задавать рамку в этом стиле.
Это будет более эмоционально.


Нафига компоненты городить? Просто создай класс окна ToolBarWindow32 - и будет тебе нужная кнопка.
Элементарно же, Ватсон :alien: В аттаче очень эмоциональный пример.
Вложения
flat.zip
(24.41 Кб) Скачиваний: 79

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как сделать кнопки плоскими?

Сообщение SLIM » 21.03.2009 (Сб) 15:22

[offtopic]
Мда, и такие программисты пишут софт для минздрава :shock:
[offtopic]
Пишите жизнь на чистовик.....переписать не удастся.....

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Как сделать кнопки плоскими?

Сообщение jangle » 21.03.2009 (Сб) 15:58

SLIM писал(а):[offtopic]
Мда, и такие программисты пишут софт для минздрава :shock:
[offtopic]


Пишут, каждый раз когда идешь в поликлинику, вспоминай меня. Как ангела-хранителя :)

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как сделать кнопки плоскими?

Сообщение SLIM » 21.03.2009 (Сб) 17:08

jangle писал(а):Пишут, каждый раз когда идешь в поликлинику, вспоминай меня. Как ангела-хранителя :)

Ага,и когда будет приступ сердца меня очень быстро с таким софтом обслужат конечно же...а все потому что программист не знал компьютерную арифметику и битовые операции...наверное он просто очень умен и очень ленив чтобы читать доки
Пишите жизнь на чистовик.....переписать не удастся.....

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Как сделать кнопки плоскими?

Сообщение jangle » 21.03.2009 (Сб) 18:02

SLIM писал(а):
jangle писал(а):Пишут, каждый раз когда идешь в поликлинику, вспоминай меня. Как ангела-хранителя :)

Ага,и когда будет приступ сердца меня очень быстро с таким софтом обслужат конечно же...а все потому что программист не знал компьютерную арифметику и битовые операции...наверное он просто очень умен и очень ленив чтобы читать доки


Там тестировщики - звери. Все проверили до основания. За каждый найденный баг - премия к зарплате. Поэтому не бойся. Болей на здоровье! :wink:

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Как сделать кнопки плоскими?

Сообщение Alec » 21.03.2009 (Сб) 20:17

awl100Alex писал(а):зачем кнопке 17-бит стиля, который мы получаем по GetWindowLong

Dan Appleman писал(а):
Код: Выделить всё
[b]Справка по стилям окон[/b]
32-разрядные данные стиля окна делятся на две части. Старшие 16 бит определяют стили, общие для всех классов. Интерпретация младших 16 бит зависит от окна.
...
Таблица общих битов стиля окна
--------------------------------------------------------------------------
Имя константы    Шестандцатиричное    Описание
                 значение
--------------------------------------------------------------------------
WS_TABSTOP           10000            За окном закрепляется позиция табуляции.
                                      Это означает, что для передачи фокуса
                                      данному элементу в диалоговом окне может
                                      использоваться клавиша табуляции


Этот бит, кстати, и меняется свойством TabStop
Иногда лучше вовремя остановиться...
И начать заново!

HBasic
Новичок
Новичок
 
Сообщения: 49
Зарегистрирован: 01.03.2009 (Вс) 21:53

Re: Как сделать кнопки плоскими?

Сообщение HBasic » 22.03.2009 (Вс) 19:33

Я вручную их сделал уже.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как сделать кнопки плоскими?

Сообщение awl100Alex » 23.03.2009 (Пн) 11:38

Alec
Всё, понял. Спасибо. :)

Megas13
Новичок
Новичок
Аватара пользователя
 
Сообщения: 40
Зарегистрирован: 03.08.2006 (Чт) 9:46
Откуда: IL

Re: Как сделать кнопки плоскими?

Сообщение Megas13 » 31.03.2009 (Вт) 16:59

jangle писал(а):Нафига компоненты городить? Просто создай класс окна ToolBarWindow32 - и будет тебе нужная кнопка.
Элементарно же, Ватсон :alien: В аттаче очень эмоциональный пример.

Прокольно сделано. А можно тоже самое но на VB?
Компьютер не подчиняется законам физики.Только в нем глюки возникают из ничего, файлы исчезают в никуда, а объем измеряется в метрах и называется весом.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Как сделать кнопки плоскими?

Сообщение jangle » 31.03.2009 (Вт) 17:05

Megas13 писал(а):
jangle писал(а):Нафига компоненты городить? Просто создай класс окна ToolBarWindow32 - и будет тебе нужная кнопка.
Элементарно же, Ватсон :alien: В аттаче очень эмоциональный пример.

Прокольно сделано. А можно тоже самое но на VB?


Да, можно и на VB.

Megas13
Новичок
Новичок
Аватара пользователя
 
Сообщения: 40
Зарегистрирован: 03.08.2006 (Чт) 9:46
Откуда: IL

Re: Как сделать кнопки плоскими?

Сообщение Megas13 » 31.03.2009 (Вт) 17:13

jangle писал(а):
Megas13 писал(а):
jangle писал(а):Нафига компоненты городить? Просто создай класс окна ToolBarWindow32 - и будет тебе нужная кнопка.
Элементарно же, Ватсон :alien: В аттаче очень эмоциональный пример.

Прокольно сделано. А можно тоже самое но на VB?


Да, можно и на VB.

Я понимаю, что можно. Я имею в виду, нет ли у кого готового примера?
Компьютер не подчиняется законам физики.Только в нем глюки возникают из ничего, файлы исчезают в никуда, а объем измеряется в метрах и называется весом.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими?

Сообщение [LEV&n] » 08.04.2009 (Ср) 20:22

Хакер писал(а):От этого программы менее бажными станут. Код менее кривым.


Насчёт "Кривизны кода" согласился, бы с Вами не оговорочно, если бы Вы были автором Basic'a.
Видите ли, существует на свете импровизация. На кухне я не готовлю строго по рецепту, и всем моим девушкам это нравится, подобное и в коде, не судите.. Если код рабочий - значит верный, не важно сколько ресурсов потребляет, автор сам найдёт причину и исправится, спустя время. К Вам приходят за советами, а вы отдаёте лишь негатив и ругательства, не пора ли на пенсию с такими нравами?
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как сделать кнопки плоскими?

Сообщение Хакер » 08.04.2009 (Ср) 20:46

всем моим девушкам это нравится, подобное и в коде, не судите..

Сужу.

Видите ли, существует на свете импровизация.

Существуют правила. И на кухне они тоже существуют. Насыпь свои девушкам концентрированную кислоту в блюдо. Это против правил — но ведь зато импровизация!

Потом посмотришь на нравы родителей этих девушек. Предложишь родителями на уйти не пенсию...

В программировании сотни мест, где можно импровизировать. Нужно импровизировать. Но не надо банальную непробиваемую, как бетонная стена толщиною 2 метра, тупость, безграмотность и недальновидность относительно возможных последствий маскировать под импровизацию.

Давай электрики начнут вместо фазного провода использовать водопровод? Импровизация, же. Хрен с ним, что тебя может убить током, зато ведь как оригинально. И ведь это будет работать: ток будет идти. Значит всё правильно!
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими?

Сообщение [LEV&n] » 08.04.2009 (Ср) 21:19

Хакер писал(а):
всем моим девушкам это нравится, подобное и в коде, не судите..

Сужу.

Видите ли, существует на свете импровизация.

Существуют правила. И на кухне они тоже существуют. Насыпь свои девушкам концентрированную кислоту в блюдо. Это против правил — но ведь зато импровизация!

Потом посмотришь на нравы родителей этих девушек. Предложишь родителями на уйти не пенсию...

В программировании сотни мест, где можно импровизировать. Нужно импровизировать. Но не надо банальную непробиваемую, как бетонная стена толщиною 2 метра, тупость, безграмотность и недальновидность относительно возможных последствий маскировать под импровизацию.

Давай электрики начнут вместо фазного провода использовать водопровод? Импровизация, же. Хрен с ним, что тебя может убить током, зато ведь как оригинально. И ведь это будет работать: ток будет идти. Значит всё правильно!


Переусердствовал немного. Если речь идёт о концентрированной серной кислоте, то лучше туда добавить глицерин. А если речь идёт о блюде или о программном коде, где предполагается вмешательство импровизирующего, то это уже совсем другой вопрос. Наша задача не создать ряд шаблонных программ, я за индивидуальность. А если вам нравится проявление стандартов, то создайте социалистически-тоталитарное государство. Мне бы хватило 0.5 светлой Балтики 3 и ваше общество, чтобы донести до вас все негативные последствия вышеизложенного.
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение dr.MIG » 08.04.2009 (Ср) 21:37

Импровизация не всегда полезна. Возьмем медицину — долгое время стандартов лечения не существовало, существовали разные школы и разные подходы к лечению. Однако, сейчас импровизация, которая могла приводить 1000 раз к спасению жизни, на 1001 раз может привести импровизатора к скамье подсудимых. По-моему, аналогию с программированием проследить можно :).
Salus populi suprema lex

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение [LEV&n] » 08.04.2009 (Ср) 21:58

dr.MIG писал(а):Импровизация не всегда полезна. Возьмем медицину — долгое время стандартов лечения не существовало, существовали разные школы и разные подходы к лечению. Однако, сейчас импровизация, которая могла приводить 1000 раз к спасению жизни, на 1001 раз может привести импровизатора к скамье подсудимых. По-моему, аналогию с программированием проследить можно :).


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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение alibek » 09.04.2009 (Чт) 7:20

[LEV&n] писал(а):А по-моему медицина - вещь непостоянная, которая вскоре исчезнет, с нахождением новых способов регенерации тканей. Поскольку человек - регенерируемый пучок материи, то приравнивать восстановление его функций к нулям и единицам не стоит.

Статистика показывает, что появление в форуме в нетрезвом виде нежелательно.
Lasciate ogni speranza, voi ch'entrate.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение [LEV&n] » 09.04.2009 (Чт) 10:19

alibek писал(а):
[LEV&n] писал(а):А по-моему медицина - вещь непостоянная, которая вскоре исчезнет, с нахождением новых способов регенерации тканей. Поскольку человек - регенерируемый пучок материи, то приравнивать восстановление его функций к нулям и единицам не стоит.

Статистика показывает, что появление в форуме в нетрезвом виде нежелательно.


Что-то мы и вовсе с темы съехали
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими?

Сообщение [LEV&n] » 09.04.2009 (Чт) 10:24

Megas13 писал(а):Я понимаю, что можно. Я имею в виду, нет ли у кого готового примера?


Если хочешь увидеть плоские кнопки в интерфейсе, то создай объект image и рисуй свою кнопку, лично мне нравится такой подход, не смотря на то, что на взгляд некоторых это не практично. Используй события mouseMove, mouseUp, mouseDown
Вложения
btn.rar
Пример графической кнопки с шейпом
(3.87 Кб) Скачиваний: 73
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение Khachkara » 09.04.2009 (Чт) 12:28

[LEV&n] писал(а):Если хочешь увидеть плоские кнопки в интерфейсе, то создай объект image и рисуй свою кнопку, лично мне нравится такой подход, не смотря на то, что на взгляд некоторых это не практично. Используй события mouseMove, mouseUp, mouseDown

2 страницы лирики на форуме из-за чего?
Всё гениальное просто.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение dr.MIG » 09.04.2009 (Чт) 14:29

Khachkara писал(а):Всё гениальное просто.

С каких пор три Image стало гениальным? :shock: Тот же самый банальный переход по кнопкам с помощью Tab'a работать не будет. Аргументы типа того, что этот переход никому не нужен не принимаются.
Khachkara писал(а):2 страницы лирики на форуме из-за чего?

Смысл лирики не в том, что никто не знает как это сделать. А если кто-то и не знает как это сделать, то готовое решение находится с полпинка.
Salus populi suprema lex

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение [LEV&n] » 09.04.2009 (Чт) 20:14

dr.MIG писал(а):
Khachkara писал(а):Всё гениальное просто.

С каких пор три Image стало гениальным? :shock: Тот же самый банальный переход по кнопкам с помощью Tab'a работать не будет. Аргументы типа того, что этот переход никому не нужен не принимаются.
Khachkara писал(а):2 страницы лирики на форуме из-за чего?

Смысл лирики не в том, что никто не знает как это сделать. А если кто-то и не знает как это сделать, то готовое решение находится с полпинка.


Мы ведь все русские люди. Зачем нам препирательства, и так все прекрасно понимаем, что гении поголовно...
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение [LEV&n] » 10.04.2009 (Пт) 15:58

HBasic писал(а):С Push Button ковырялся ничего не получилось.Если надо библиотеки какие подключать то расскажите
пожалуйста подробно как это делается.


CoolButton.zip кнопки с различными эффектами: плоские, всплывающие, с анимацией.
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение SLIM » 10.04.2009 (Пт) 19:16

использование левых контролов - грех, если это не оправдано очень серьезно (Спасибо автору цитаты)

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

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Как сделать кнопки плоскими не применяя каток?

Сообщение BION » 10.04.2009 (Пт) 19:26

SLIM писал(а):использование левых контролов - грех, если это не оправдано очень серьезно (Спасибо автору цитаты)


Ну почему же? Если есть исходник и ты в состоянии разобраться в деталях, то почему бы и нет!? Я вот допустим, в свое время, использовал один такой, разобрался, переработал под себя, и уже давно все замечательно работает.
Но если говорить только об OCX, написанных бойкими студентами, то соглашусь — в этом случае есть риск обоср@ться.
Буээ!

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 52

    TopList