ShowWindow и модальность

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

Re: ShowWindow и модальность

Сообщение Debugger » 04.11.2009 (Ср) 22:42

Что можно скрывать родительское окно.
Последний раз редактировалось Debugger 04.11.2009 (Ср) 22:47, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 22:43

Разве я говорил, что функция ShowWindows неспособна скрывать (чьё-то) родительское окно?

Разве я такое, Debugger, говорил?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 22:50

что никаких проблем при использовании ShowWindow не возникает.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 22:53

Space, мы не об этом спорили. Мы спорили (виртуально, на 10000$) о том, что если скрыть родительское окно, то дочерние окна также не будут видны.

Именно это является источником проблемы.

Каким местом твой пример опровергает или моё высказывание, или утверждение о том, что проблем нет?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 22:55

1. Хакер, я с тобой не спорил. Ты предложил, я не ответил.
2. Визуально проблем нет.
3. Дочернее окно не скрывается.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 22:57

Видишь ли Space.

Таков наш суровый мир, что чтобы доказать или опровергнуть, будут ли проблемы в данном случае, нужно сделать пример, который бы с помощью ShowWindows скрывал родительское окно.

Твой пример это делает?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 23:01

а что делает мой пример?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 23:03

Некие действия. Между тем, я не обнаружил там то основное действие, которое там должно быть. А именно: скрытие родительского окна с помощью ShowWindow.

Покажи мне пожалуйста строчку, в которой это делается?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 23:06

Хакер, наверное, хочет мне показать разницу между дочерним и подчинённым окном

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 23:10

Так ты покажешь строчку?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 23:12

а что, те не видно строчку, которая скрывает окно? :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 23:15

Которая скрывает (какое-то левое) окно --- видно.
Которая скрывает родительское окно модального окна --- не видно.

Покажешь?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 23:25

ну ты и зануда. Как же тогда по твоему называется Form1 и Form2.Show vbModal, Form1?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 23:41

Не понял вопроса.

Я не зануда, ослиное упрямство проявляешь ты. Я сказал, что скрытие родителя модального окна приведёт к скрытию самого модального окна и, как следствие, блокировке приложения. Ты сказал, что я не прав (хе-хе...) и что у тебя есть даже контрпример. Пожалуйста, жду адекватного контрпримера. Пока ты его не предоставил. Так что ждём, либо когда ты его предоставишь (а этого никто не произойдёт), либо когда ты признаешь, что был сильно не прав.

Даже не так. Нужно не чтобы ты просто признал что неправ (только бы я отвязался), а чтобы ты сам логически дошёл до того, что был неправ на протяжении всего спора.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 04.11.2009 (Ср) 23:44

хорошо, я не прав. Но код у меня работает без проблем :Ь

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 04.11.2009 (Ср) 23:47

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


Я раз за тебя, что твой код работает. Но твой код никак не относится к случаю, о котором ты спрашиваешь.

Иными словами: ты спрашиваешь, будут ли проблемы при использовании А.
Я говорю: будут, такие-то.
Ты делаешь пример, в котором таких проблем нет.

Только вот твой пример делает Б. А вопрос был про А.


Точно так же можно было бы выложить сюда код MsgBox "foo". Он бы тоже работал. Это бы что-то доказывало в свете твоего изначального вопроса?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 05.11.2009 (Чт) 0:04

я не знаю, что ты там себе надумал, но я спрашивал изначально именно по этому примеру. Теперь же я хочу скрывать все окна проги (и модальные) через эту API и показывать их при HotKey. Надеюсь, ничто не будет нарушено, как тут Хакер заявил, что API - это зло. Всё, я спать, возможно, если мне приснится Хакер, я проснусь среди ночи и отвечу на след. реплики.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 05.11.2009 (Чт) 0:43

но я спрашивал изначально именно по этому примеру

Где это ты изначально спрашивал по этому примеру? (Только не говори "в другом топике")

Изначально ты спрашивал так
Первый пост писал(а):Почему ShowWindow позволяет скрывать/показывать родительское окно, когда показано дочернее модально, а код в VB нет (frmMain.Hide)?


Затем ты задал вопрос "Будут ли проблемы" именно про родительское окно:
Space писал(а):Что, скрытие/показ родительского окна под модальным окном с помощью ShowWindow влечёт за собой какие-то проблемы?

И я сказал что будут.

Затем ты переспросил, какие именно проблемы могут быть:
Space писал(а):какие тут могут быть проблемы?


И я ответил, какие:
Я писал(а):Блокировка приложения. Ты заблокируешь его, и с ним уже ничего нельзя будет сделать (кроме как убить).


Но я изначально предполагал (как и полагается делать телепату), что ты имеешь в виду одно (owner, владелец), а спрашиваешь про другое (parent, родитель). Поэтому я ещё тогда намекнул, дал возможность исправиться, снял с себя всю ответственность:
Предупредительный выстрел в воздух писал(а):Это если ты действительно имел в виду то, что спрашиваешь.

Этим я как бы сказал: блокировка будет если ты и правда имеешь в виду родителя. А если имеешь в виду что-то другое, то и проблемы будут другими.

Ты не понял и переспросил. Я ответил:
Я писал(а):Если ты спряешь родителя модального окна, модальное окно то же спрячется. Закончить с ним работу будет уже невозможно (его не видно). С другими же окнами (если такие есть) поработать будет нельзя.


Этим я как бы дал тебе ещё один намёк. То есть по идее: ты видишь, что я утверждаю, что дочернее окно спрячется вместе с родителем. С другой стороны: у тебя на руках пример, в котором окно остаётся видимым. У нормального человека сразу бы возникла мысль: Нестыковочка! Кто-то здесь не прав! (Ну и дальше ты бы там додумался до того, что родитель и владелец кардинально разные понятия)

И у тебя она возникла. Только вот ты почему-то решил, что это Хакер неправ, а великий и ужасный комбо-маньяк Space --- прав. И вместо того, чтобы достать бревно из своего глаза, принялся искать соринку в моём (которой, к слову, и нет вовсе):
Space такую чушь писал(а):да ну, Хакер, ты загнул. Спрячется только то окно, hwnd которого указан, т.е. родительское.


Я сделал ещё один намёк, чтобы ты задумался и исправился:
Контрольный выстрел писал(а):Я готов поспорить с тобой на 10000 долларов, что если скрыть родительское окно, все дочерние окна скроются.

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

И в конце концов оказалось, что пример совершенно не доказывает то, о чём ты на протяжении всего топики говорил. В примере нет скрытия родительского окна (то окно, которое там скрывают, не имеет потомков).

Заметь, пожалуйста, на протяжении всего топика ты говорил о родительском окне, и ни разу об окне-владельце.

Я дал тебе кучу намёков и посылок, чтобы ты смог исправиться. Но нет, ослиное упрямство взяло верх.

Впрочем, исход был понятен изначально: выдели текст этого поста чтобы прочитать в нём скрытый текст.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 05.11.2009 (Чт) 5:14

Однако, Хакер, ты постарался, чтобы возвеличить себя :) Не проще было бы просто сказать, в чём проблема?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ShowWindow и модальность

Сообщение Хакер » 05.11.2009 (Чт) 5:16

Нет. (С добрым утром. Я Кошмары не снились?)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: ShowWindow и модальность

Сообщение Space » 05.11.2009 (Чт) 5:55

как за мной окна бегают? :) нет.

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

Re: ShowWindow и модальность

Сообщение Antonariy » 05.11.2009 (Чт) 11:16

Только когда придёт время отдавать деньги, ты будешь ныть, что имел в виду не родителя, а владельца.
Я ничерта не понял. :scratch:
Form2.Show vbModal, Me — Form1 это родитель или владелец? В каком случае сокрытие Form1 приведет к сокрытию Form2?

Если родитель это тот, кого можно можно получить с помощью апи GetParent (контейнер получается), то каким образом потомок может быть к нему модален?
Лучший способ понять что-то самому — объяснить это другому.

Пред.

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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 62

    TopList