И о-пять ламерский вопрос: window pane

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

И о-пять ламерский вопрос: window pane

Сообщение Eugenio » 08.12.2004 (Ср) 16:58

Доброго времени суток опять.
Со scrolling'ом почти разобрался с помощью господа бога и WinAPI,
а вот как создать в многооконном приложении window pane, панель окон? И этим никогда не занимался. Не подскажет кто?
(взялся было за изврат: неперемещаемый toolbar с флажками (со свойством vbButtonGraphical) :? . Но не создавать же "руками" меню с "Закрыть" и "Minimize-Maximize"!)
Есть ли у меня вопрос? У меня всегда есть вопрос

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.12.2004 (Ср) 17:12

а как этот зверь должен выглядеть "window pane"?
может подскажешь в какой известной программе ты его видел

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 08.12.2004 (Ср) 17:24

Ну, самая известная - это windows :) . А есть еще всякие там "1С", например. Вот из-за нее я и заподозрил, что, может есть какие-то API-штуки, чтобы такую панель окон создавать внизу MDI-формы. Там открытые окна отображаются, причем активное - в виде стандартной "вдавленной" кнопки и со стандартным меню ("Restore","Move","Minimize","Maximixe","Close" - со стандартными же значками). В принципе, сойдет и моя поделка с toolbar'ом и vbButtonGrafical, но не все мне ясно, как я буду делать. А ведь может есть некий могучий механизм, про который я понятия не имею :)
Есть ли у меня вопрос? У меня всегда есть вопрос

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.12.2004 (Ср) 17:29

Не знаю, не знаю...
Но я бы... взял тулбар... нафигачил бы кнопок... а по правому клику выводил бы менюшку, которая GetMenu... или getsystemmenu... чё больше понравится :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 08.12.2004 (Ср) 17:34

Это решение, конечно, тем более, что у меня есть ваш с tyomitch'ем пример с менюхами.
Но как же, нету, выходит, могучего механизма? :(

Кстати про кнопки - а как её "вдавить, да так и оставить" ( :) ) пока соотв. окно активно? Я потому и взялся за флажки со Style=vbButtonGraphical, потому что для вдавливания предназначены :lol:
GetSystemMenu тут как поможет?
Меню надо своё. Я попробовал -у меня значки не так убедительно выглядят :)
Есть ли у меня вопрос? У меня всегда есть вопрос

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

Сообщение tyomitch » 08.12.2004 (Ср) 17:37

Eugenio писал(а):Кстати про кнопки - а как её "вдавить, да так и оставить" ( :) ) пока соотв. окно активно?

Слать им BM_SETSTATE
Тут кто-то похожий пример уже делал, щас поищу... А, вот: http://bbs.vbstreets.ru/viewtopic.php?t=9295
Изображение

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.12.2004 (Ср) 18:01

в MDI проще всего всунуть toolbar вниз главного окна а на нем кнопки типа checkbox в одной группе и все дела, а то ведь модное слово какое еще придумали "window pane", понимаешь ли :D

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 08.12.2004 (Ср) 18:03

tyomitch писал(а):
Eugenio писал(а):Кстати про кнопки - а как её "вдавить, да так и оставить" ( :) ) пока соотв. окно активно?

Слать им BM_SETSTATE

Все время ей это слать?
tyomitch писал(а):Тут кто-то похожий пример уже делал

Если правильно понял, отображаются или нет дочерние окна в таскбаре - всё дело в стайле MDI-формы?
Последний раз редактировалось Eugenio 08.12.2004 (Ср) 18:27, всего редактировалось 2 раз(а).
Есть ли у меня вопрос? У меня всегда есть вопрос

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 08.12.2004 (Ср) 18:07

Konst_One писал(а):в MDI проще всего всунуть toolbar вниз главного окна а на нем кнопки типа checkbox в одной группе и все дела, а то ведь модное слово какое еще придумали "window pane", понимаешь ли :D

Это вроде не я придумал :) . То, что ты предлагаешь, уже делается, см. выше.

Да, tyomitch, еще вопрос. в свете той дискуссии (по ссылке). я давно не мог понять, а что вообще значит для MDI-child формы свойство ShowInTaskBar, если она, сволочь, там всё равно не показывается?

Что же там со стилем MDI-формы, объясните вкратце? Вообще, хотелось бы, чтобы эта панель окон была именно в MDI-окне (внутри). Но про дочерние окна в taskbar'е тоже интересно.
Есть ли у меня вопрос? У меня всегда есть вопрос

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

Сообщение tyomitch » 08.12.2004 (Ср) 18:29

Eugenio писал(а):
tyomitch писал(а):
Eugenio писал(а):Кстати про кнопки - а как её "вдавить, да так и оставить" ( :) ) пока соотв. окно активно?

Слать им BM_SETSTATE

А..ээ..Что-то я описание этого месседжа не понял в MSDN :? . Во-вторых, все время ей это слать?
tyomitch писал(а):Тут кто-то похожий пример уже делал

Если правильно понял, всё дело в стайле MDI-формы? Надо мне, похоже, почитать про них...

Слать нужно один раз. Единственное, что оно делает - "вдавливает" кнопку. Но графический OptionButton здесь действительно по смыслу подходит лучше.
Что за "стайл MDI-формы", я не понял :-), так что дело видимо не в нём :-)
Изображение

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 08.12.2004 (Ср) 18:41

Слать нужно один раз. Единственное, что оно делает - "вдавливает" кнопку

дошло

tyomitch писал(а):Что за "стайл MDI-формы", я не понял :-), так что дело видимо не в нём :-)

Ну, в смысле, стиль окна MDI-формы [/code]
Есть ли у меня вопрос? У меня всегда есть вопрос

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 12.12.2004 (Вс) 14:44

GSerg писал(а):...я бы... взял тулбар... нафигачил бы кнопок... а по правому клику выводил бы менюшку, которая GetMenu... или getsystemmenu... чё больше понравится :)

А ведь и правда. Я сначала не "въехал"и завозражал, а на хрена собственное меню, когда можно использовать системное меню окна!
Ну вот, теперь почти готово :)
Есть ли у меня вопрос? У меня всегда есть вопрос

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

Сообщение Ennor » 12.12.2004 (Вс) 20:01

Чем изобретать велосипед, лучше бы посмотрели, как это в самой винде реализовано - TabStrip...

DeJamor
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.12.2004 (Чт) 13:14
Откуда: Rostov

Сообщение DeJamor » 19.04.2005 (Вт) 11:26

Вот-вот, по-любому! Причем, я это знал уже давно (tabstrip). Весь гемор (у меня похожий трабл) в том, как заставить окошки с tabstrip' ом работать. Где-то в недрах Shell32.dll (Dependency Walker) видел функцию SetTaskmanWindow, правда без параметров. Может быть, она и есть ключик?


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

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

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

    TopList