Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как правильно управлять свёрнытым окном в MDI форме.

1.9K
20 января 2004 года
wishco
59 / / 20.01.2004
К примеру свернул окно в MDI форме,
а двигать подчинённое(свёрнутое) окно могу. Как сделать так, что-бы перемещать подчинённое окно нельзя было. Что бы оно было всегда внизу MDIформы, если даже мы будем менять размеры MDIформы.
266
21 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by wishco
К примеру свернул окно в MDI форме,
а двигать подчинённое(свёрнутое) окно могу. Как сделать так, что-бы перемещать подчинённое окно нельзя было. Что бы оно было всегда внизу MDIформы, если даже мы будем менять размеры MDIформы.


Только API... Немного попозже наши специ в этой области зайдут сюда и чего-нибудь посоветуют.

1.9K
21 января 2004 года
wishco
59 / / 20.01.2004
Цитата:
Originally posted by mhaturov

Только API... Немного попозже наши специ в этой области зайдут сюда и чего-нибудь посоветуют.


Будет супер!

266
21 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by wishco

Будет супер!


посмотри http://forum.codenet.ru/showthread.php?threadid=14857 Там есть описание получения и установки некоторых параметров отображения окна. Можно попробовать при помощи их.
А ещё я тут вариант придумал:
1. На событие минимизации дочерней формы вешаешь флаг.
2. Если начинаешь двигать форму, или ресайзишь родительскую форму, и этот флаг установлен, просто изменяешь положение дочерней формы так, чтобы его лефт и топ находились в нужном угле материнского окна.
3. Нм максимизацию этот флаг сбрасываешь.

319
21 января 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by wishco

Будет супер!


не понял вопроса :(

1.9K
21 января 2004 года
wishco
59 / / 20.01.2004
По идее это очень часто применяемая функция.
Может есть ocx файл. Или что либо в API есть.
Это по любому. Может кто нибуть капнёт глубже.
Интересная проблема.
266
22 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by wishco
По идее это очень часто применяемая функция.
Может есть ocx файл. Или что либо в API есть.
Это по любому. Может кто нибуть капнёт глубже.
Интересная проблема.


Мой способ не сработал?:{

1.9K
22 января 2004 года
wishco
59 / / 20.01.2004
Цитата:
Originally posted by mhaturov

Мой способ не сработал?:{


Хорошо. Попробую... .

1.9K
22 января 2004 года
wishco
59 / / 20.01.2004
Цитата:
Originally posted by mhaturov

посмотри http://forum.codenet.ru/showthread.php?threadid=14857 Там есть описание получения и установки некоторых параметров отображения окна. Можно попробовать при помощи их.
А ещё я тут вариант придумал:
1. На событие минимизации дочерней формы вешаешь флаг.
2. Если начинаешь двигать форму, или ресайзишь родительскую форму, и этот флаг установлен, просто изменяешь положение дочерней формы так, чтобы его лефт и топ находились в нужном угле материнского окна.
3. Нм максимизацию этот флаг сбрасываешь.



Проверил твоё предложение.Результат ниже.

Private Sub MDIForm_Resize()
If FrmInt1.WindowState = 1 Then
FrmInt1.Top = 6000'Любое изменение
End If
End Sub

Ошибка во время выполнения программы '384':

Форма не может перемещаться или установлена по размеру в то время как минимизируется или максимизируется

p/s/
У формы при минимизации и мах..ии висят свои координаты положения на форме.

Во время минимизации двигаешь окно(координаты x/y), затем разворачиваешь, сворачиваешь/ и встаёт на точки x и y/, а не в низ MDIfom/
Где-то сабака зарыта.

266
23 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by wishco


Проверил твоё предложение.Результат ниже.

Private Sub MDIForm_Resize()
If FrmInt1.WindowState = 1 Then
FrmInt1.Top = 6000'Любое изменение
End If
End Sub

Ошибка во время выполнения программы '384':

Форма не может перемещаться или установлена по размеру в то время как минимизируется или максимизируется

p/s/
У формы при минимизации и мах..ии висят свои координаты положения на форме.

Во время минимизации двигаешь окно(координаты x/y), затем разворачиваешь, сворачиваешь/ и встаёт на точки x и y/, а не в низ MDIfom/
Где-то сабака зарыта.


Тут вопрос не к уважаемому wishco, а к All. У меня тут идея.
Какими API - функциями можно отслеживать перемещение окна? Никто не подскажет? по моему, тут самое простое - через API всё это отслеживать.
Теперь к wishco.
Попробуй так:
1. Если форма свёртывается, то отлавливать событие GotGocus и MouseMove и запрещать их. Тут только вопрос, как сместить форму туда, куда надо.

1.9K
23 января 2004 года
wishco
59 / / 20.01.2004
Цитата:
Originally posted by mhaturov

Тут вопрос не к уважаемому wishco, а к All. У меня тут идея.
Какими API - функциями можно отслеживать перемещение окна? Никто не подскажет? по моему, тут самое простое - через API всё это отслеживать.
Теперь к wishco.
Попробуй так:
1. Если форма свёртывается, то отлавливать событие GotGocus и MouseMove и запрещать их. Тут только вопрос, как сместить форму туда, куда надо.



Можно ли в обработке MouseMove опрашивать Мышь. Если да, то как.

Тогда Было бы прикольно, если в код MouseMove
поместить:
If Form.WindowState = 1 then
Form.Enabled = false
If "Кнопка мыши нажата then Form.WindowState = 0:Form.Enabled = true
end if
else:Form.Enabled = true


Больше ни чё не лезет в голову.

1.9K
30 января 2004 года
wishco
59 / / 20.01.2004
Что-то тема заглохла!!!
Но напомнить об ответе я должен.

Может есть какие либо интересные коды с MDI,
то кидайте.

Но а ответ АХОТА!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог