А нужен ли Toolbar?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dimix
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 174
Зарегистрирован: 08.02.2005 (Вт) 22:47

А нужен ли Toolbar?

Сообщение dimix » 20.09.2005 (Вт) 20:54

Объясните мне, пожалуйста, чем лучше использовать Toolbar вместо расположенного на форме набора кнопок. У меня сразу под меню идут кнопочки, выглядит как Toolbar. Я решил - сначала сделаю, чтобы в принципе работало, а потом уже переделаю в Toolbar, чтобы сразу себя не загружать. Сейчас решил - пора переделывать. И задумался: а зачем? Что мне такого даст этот Toolbar? Может быть вы мне поможете понять, что это такая нужная штука, без которой ваааще жить нельзя :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.09.2005 (Вт) 21:04

Тулбарные кнопки фокус не ловят.
Изображение

dimix
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 174
Зарегистрирован: 08.02.2005 (Вт) 22:47

Сообщение dimix » 20.09.2005 (Вт) 21:18

Дык... Эта... Это ж наверно наоборот плохо. А чем же тулбар - хорошо?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 20.09.2005 (Вт) 23:12

Да можно и обычным кнопкам TabStop = False выставить, это не проблема. Проблема в принципе. Понимаешь, когда у тебя на тулбаре как минимум 10 кнопок, а как максимум раза в два-три больше, и тулбаров таких штук пять - восемь, да еще и пользователь может их содержимое неплохо так отредактировать под себя - начинает очень сильно хотеться такой полезной вещи, как инкапсуляция.

Т.е., ты кидаешь на форму CoolBar, в его бэнды вставляешь тулбары, так что юзер сможет их перемещать, как в IE, пишешь универсальный код, который загружает картинки на кнопки по совпадению ключей из коллекций Toolbar.Buttons и ImageList.ListImages (как вариант; я, по крайней мере, ни до чего более универсального не додумался в свое время), по тому же ключу (или еще по чему - дело вкуса, привычки и ориентации) загружаешь тултипы для этих кнопок, попутно их локализуя - все, ты можешь больше вообще ни о чем не думать. Знай лови нажатия кнопок юзером и реагируй соответственно.
Если же ты при таком масштабе работ попытаешься использовать вышеописанный тобой подход, то банальный ресайз станет... нет, это даже не головная боль, это зубная боль будет. Заметь, при использовании штатного контрола он сам полностью обрабатывает для себя это событие. Далее, интерфейс кастомизации ты тоже будешь сам писать? Типа, эту кнопку убрать, а эти три пожалста после вон той - ? И так далее, и тому подобное. Собственно, преимущество компонентного программирования в этом и заключается - fire and forget.

Если вкратце: зачем писать свой тулбар, если уже есть готовый, несравненно более функциональный и гарантированно более легковесный для системы, нежели твой? Зачем?

dimix
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 174
Зарегистрирован: 08.02.2005 (Вт) 22:47

Сообщение dimix » 21.09.2005 (Ср) 10:24

Ennor, огромное спасибо за развернутый ответ!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

    TopList  
cron