Окно в окне (форма в форме) MDI

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

Окно в окне (форма в форме) MDI

Сообщение Kolobuk » 20.02.2007 (Вт) 10:27

Привет.

Есть форма (Form1), при нажатии на кнопку, показывается вторая фома (Form2), меньшего размера.
Как сделать чтобы вторая форма не уходила на второй план при активности первой?
Т.е. чтобы вторая всегда была поверх первой.
И можно как то сделать так, чтобы вторая форма не выходила за границы первой?
Первая должна оставаться активной.

Заранее спасибо ;)
Последний раз редактировалось Kolobuk 20.02.2007 (Вт) 12:00, всего редактировалось 1 раз.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 20.02.2007 (Вт) 11:22

У меня 100% ощущение, что этот вопрос дословно был задан на другом форуме (forum.sources.ru) и там после уточнения нюансов автору был дан исчерпывающий ответ.
Весь мир матрица, а мы в нем потоки байтов!

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 11:37

Хм.. небыл там еще.

Вообще я делал так:
Создавал MDI форму.
Создавал Главную форму со всеми кнопками, текстом и т.п., делал её неперемещаемую и помещал её в MDI форму.

Но проблема в том, что если в MDI форме находится дочернее окно (MDIChild) и нажать на главную форму мышью (поставить форме фокус), то дочернее окно скрывается - его перекрывает главная форма.

Вот если от этого избавиться, то проблема моя исчезнет.

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 11:37

MDI форма тебе поможет б/п
Ребзя, давайте жить дружно!

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 11:43

Проблема выше:)
В одно время написали.

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 11:49

в свойствах дочерней формы должно быть MDIChild = true проверь
Ребзя, давайте жить дружно!

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 11:56

Это само собой.
Как бы сказать... У меня "фон" в MDI форме - Form1 с кнопками, текстом и т.п.
Если нажать кнопку на Form1, появляется дочерняя форма в MDIформе поверх Form1. Но если кликнуть по Form1, то она (Form1) перекрывает дочерюю форму. Как от этого избавиться?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 20.02.2007 (Вт) 11:59

~Виктор~ писал(а):в свойствах дочерней формы должно быть MDIChild = true проверь


если это не так, то она отнюдь не MDI-дите
Весь мир матрица, а мы в нем потоки байтов!

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 12:00

всё так. 8)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 20.02.2007 (Вт) 12:02

Чей-то у тебя мудрено больно сделано. Суть этого всего в чем?
Весь мир матрица, а мы в нем потоки байтов!

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 12:06

Без скриншота не обойтись :) по описанию

" У меня "фон" в MDI форме - Form1 с кнопками, текстом и т.п"

похоже что ты простую форму пытаешся сделать MDI

MDI форма даже называться будет не FORM1 а MDIForm1

в MDI форму нельзя кнопки встявлять
Ребзя, давайте жить дружно!

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 12:21

Вот пример.

При нажатии Command1 (или Command2) появляются окошки.
Если юзер перетащит окошко на на форму-меню и задаст для формы-меню фокус (т.е. кликнет по ней мышью, например), то окошко перекроется формой-меню. Нужно чтобы этого не происходило. Необходимо чтобы окошки по любому были всегда поверх меню.
А лучше, чтобы юзер вообще не мог затащить окошко на форму-меню.
Вложения
ProjectX.zip
(2.59 Кб) Скачиваний: 52

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 13:11

эт ты перегибаеш уже, где такое видел?
Ребзя, давайте жить дружно!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 20.02.2007 (Вт) 17:33

ммм я знаю как сделать так, чтобы были всегда поверх этой формы НО ОНИ НЕ СМОГУТ ВЫХОДИТЬ ЗА ЕЁ границы. Но ты вроде так и хочешь. Погоди, если найду мой проект, выложу, или пример дам... :idea:

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 20.02.2007 (Вт) 17:53

Вот пример:
это тебе нужно?
Вложения
PRIMER.zip
пример
(1.51 Кб) Скачиваний: 62

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 20.02.2007 (Вт) 22:04

Неплохо... но неясно с перекрытием

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 20.02.2007 (Вт) 22:38

Нет, ну все понятно, но что конкретно.
Kolobuk писал(а):Если юзер перетащит окошко на на форму-меню и задаст для формы-меню фокус (т.е. кликнет по ней мышью, например), то окошко перекроется формой-меню.


Может кто объяснит, о чем поет Kolobuk.
Чтобы один Child другим не перекрывался или прям в MDIClient "кнопки" класть?

P.S. форум таки глючит, когда постил, не было никаких ссылок на пример.

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 20.02.2007 (Вт) 22:57

Увидел все-ж пример Kolobuk.
Проблема несколько выходит за рамки VB6, хотя по тафталогии именно в VB6 (IDE) она и реализована.
Имеется окно (MDIClient) которое занимает НЕ всю площадь формы.
Справа или слева от нее могут располагаться любые фреймы.
Это нужно?

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 20.02.2007 (Вт) 23:37

Хотя я сам в плену стереотипов,
Положи в MDI-форму ну хотя-бы Coolbar (Common controls-3), выставь св-во Align=vbAlignLeft
убери с него bands
и на него нужные тебе кнопки
P.S. И попробуй написать, что это не идеально к твоему случаю.

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 21.02.2007 (Ср) 11:13

Cytron писал(а):Вот пример:
это тебе нужно?

Kolobuk писал(а):Неплохо... но неясно с перекрытием


Это что-то я стормозил :oops:
То что надо. Спасибо!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 21.02.2007 (Ср) 19:29

EUGY
Я думаю, что аффтору нужна была именно форма а то бы он воспользовался описанным тобою способом :D Мождь ему там нужен прогрессбар? Да и с формой удобнее работать 8) . И я посмотрю как ты сделаешь форму, которая не выходит за пределы coolbar. :P

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 21.02.2007 (Ср) 20:13

Cytron писал(а):EUGY
И я посмотрю как ты сделаешь форму, которая не выходит за пределы coolbar. :P


Боже, даже не знаю с чего начать...
Покажи МНЕ child который выходит за пределы MDIClient.

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 21.02.2007 (Ср) 20:35

дубль
Вложения
euprim.zip
coolbar на MDI
(3.02 Кб) Скачиваний: 42

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 22.02.2007 (Чт) 8:51

:oops: Ну тут конечно чо то я стормозил. :(

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 22.02.2007 (Чт) 19:14

Cytron писал(а)::oops: Ну тут конечно чо то я стормозил. :(

В смысле?

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.02.2007 (Пт) 17:58

ну начет того что в кулбар нельзя прогресс делать )


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

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

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

    TopList