MDIChild: куда пропало меню?

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

MDIChild: куда пропало меню?

Сообщение uk8amk » 07.01.2008 (Пн) 12:31

Имеется проект с главной MDI формой. Добавляю в него свою ранее созданную форму со строкой меню(Файл открыть, закрыть и т.д.). Выставляю в новой форме MDIChild=true. При этом в проекте она отображается нормально. Запукаю проект и в этом окне меню вообще куда-то пропадает. Отключаю иерархическую связь(MDIChild=false) -меню появляется. Что за прикол такой и как его обойти?

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 08.01.2008 (Вт) 15:51

Если я тебя понял...
То так всё и должно быть, просто меню переносится на mdi форму...
В нашем деле главное ЛОГИКА.

косил косой косой косой.

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 09.01.2008 (Ср) 9:29

Да я это вчера заметил. Но желательно чтоб к каждому окну свое меню. MSDN 2002-й поставил бррр. там смесь какаято VB6 и .NET вобщем в тупик полностью зашел с этим вопросом.

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 09.01.2008 (Ср) 13:29

А как насчёт использования toolbar'а в common controls.
Или кинь на форму picture
picture.align = 1
И кидай на picture кнопки...
В нашем деле главное ЛОГИКА.

косил косой косой косой.

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 10.01.2008 (Чт) 15:45

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

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 10.01.2008 (Чт) 16:54

Решения этой проблемы не существует в природе за отсутствием, так сказать, состава проблемности. Такое поведение меню заложено в винду, это аксиома, как восход Солнца каждое утро, а не по четвергам.
Лучший способ понять что-то самому — объяснить это другому.

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

Сообщение Konst_One » 10.01.2008 (Чт) 17:06

"By Design" (c) Билл

:wink:

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 11.01.2008 (Пт) 9:03

uk8amk
изRTFMь RTFM по критерию NegotiateMenu
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 11.01.2008 (Пт) 13:39

NegotiateMenu помоему вообще не на что не реагирует. Вообще зачем он там нужен? Че такое RTFM я не знаю первый раз слышу. Кстати пришла такая мысль: пишем контрол типа меню и втыкаем его в прогу. Минусы для меня:
1)не будет на форме учитываться Form1.ScaleHeight, т.к. контрол скушает от ScaleHeight значение своего Height. проблема правда не такая большая:)
2)нужно написать этот самый контрол, чего я увы пока делать неумею:(

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 11.01.2008 (Пт) 14:46

uk8amk
Зачем тебе так всё усложнять? Разве тебе не подойдёт toolbar?
В нашем деле главное ЛОГИКА.

косил косой косой косой.

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 11.01.2008 (Пт) 14:47

uk8amk
Зачем тебе так всё усложнять? Разве тебе не подойдёт toolbar?
В нашем деле главное ЛОГИКА.

косил косой косой косой.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 11.01.2008 (Пт) 14:48

uk8amk
А... так ты реально начинающий,.. тогда
RTFM - предложение поискать тему в справке к бейсику (которая фактически - онлайновая на сайте МS (MSDN называется)
Вот, а NegotiateMenus, как говорит автономная справка к VB5
Remarks

Using the NegotiateMenus property, you determine if the menu bar of a form will share (or negotiate) space with the menus of an active object on the form. If you don't want to include the menus of the active object on the menu bar of your form, set NegotiateMenus to False.
You can't negotiate menus between an MDIForm object and an object on the MDIForm.
If NegotiateMenus is set to True, the form must have a menu bar defined, even if the menu bar isn't visible. If the MDIChild property of the form is set to True, the menus of the active object are displayed on the menu bar of the MDI parent window (MDIForm object).

When NegotiateMenus is set to True, you can use the NegotiatePosition property of individual Menu controls to determine the menus that your form displays along with the menus of the active object.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

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

Сообщение alibek » 11.01.2008 (Пт) 16:27

Вот только свойство это не работает.
Lasciate ogni speranza, voi ch'entrate.

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 13.01.2008 (Вс) 9:39

Денис писал(а):А... так ты реально начинающий,.. тогда
RTFM - предложение поискать тему в справке к бейсику (которая фактически - онлайновая на сайте МS (MSDN называется)
.....
Вот, а NegotiateMenus, как говорит автономная справка к VB5

Ну как тебе сказать. Уже наверно не начинающий (всмысле лет 8 уже дружу c VB), но и не профессионал. Так когда чего-то по делу надо запрограммить(т.е. не так уж часто) обращаюсь к Васику.
По поводу автономной справки - вещь безусловно хорошая но у меня он (VB) какой-то кастрированный, безо всяких справок. Наверно надо будет достать "хороший" бейсик со справкой.

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

Сообщение alibek » 14.01.2008 (Пн) 9:58

В VB6 нет встроенной справки. Ищи MSDN за октябрь 2001 (это последний MSDN для студии 98).
Lasciate ogni speranza, voi ch'entrate.


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

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

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

    TopList