Как показать новое окно, не теряя фокус с родителя?

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

Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 26.02.2012 (Вс) 15:00

Доброго времени суток. Необходимо сделать так, чтобы новое окно было поверх родителя, при этом с самого начала полностью в фоновом режиме, без потери фокуса с родителя. То есть, принцип действия примерно как у MDI форм, только нужно обойтись без MDI. Вариант с моментальной передачей фокуса обратно не подходит, ибо происходит очень неприятное мигание.
Спасибо.

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 26.02.2012 (Вс) 15:16

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

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 26.02.2012 (Вс) 15:28

Зачем?

Смешно конечно, но тем не менее расскажу.
Вторую форму я использую как визуальный эффект, а именно ее прозрачность. При желании, эту прозрачность формы можно приспособить для плавного появления определенных объектов на форме во время выполнения. Ибо, прозрачность объектов в vb6, как известно, регулировать нельзя.
Во вложении то, что есть сейчас, в данном случае плавно появляются крестики и нолики. В общем то, почти идеально, только вот иногда фокус все-таки прыгает.
Вложения
Xand0.rar
(7.45 Кб) Скачиваний: 79

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 26.02.2012 (Вс) 15:29

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

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 26.02.2012 (Вс) 18:03

Tooltip-ы (всплывающие подсказки) могут являться примером того, чего ты хочешь достигнуть?

Эм.. подробнее, пожалуйста.

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 26.02.2012 (Вс) 18:05

Вопрос был задан тебе. Вопрос был вполне конкретен. Вопрос предполагал ответ, а не просббу «подробнее».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 26.02.2012 (Вс) 18:15

Хорошо. Что есть всплывающая подсказка, кроме как обычный всплывающий текст?

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 26.02.2012 (Вс) 22:15

Всплывающая подсказка есть обычный всплывающий текст.
Вложения
tooltip.png
tooltip.png (2.98 Кб) Просмотров: 2474
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 26.02.2012 (Вс) 23:39

Всплывающая подсказка есть обычный всплывающий текст.

Диалог какой-то неконструктивный получается..
Если речь идет просто о примере, то, разумеется, это можно взять за пример. Что мы с этого имеем?

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 27.02.2012 (Пн) 0:06

Повторяю вопрос:
Хакер писал(а):Tooltip-ы (всплывающие подсказки) могут являться примером того, чего ты хочешь достигнуть?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 27.02.2012 (Пн) 0:11

Повторяю ответ?
разумеется, это можно взять за пример.

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

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Хакер » 27.02.2012 (Пн) 0:36

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

После таких отетов, пытаться объяснить тебе, какой диапазон ответов был допустимым — унизительно. Ведь это это ты нуждаешься в помощи, но вместо того, чтобы посодействовать её оказанию, начинаешь демонстрировать неразумность, повторяя ответы на повторённые вопросы, вместо того, чтобы понять, то повтор вопроса означает неудовлетворение от изначально данного ответа.


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

Других вариантов нет.

И конечно, если ты скажешь, «тултип — совершенно не то», и неозвученной причиной этого будет то, что тултип — квадратный и жёлтый, а тебе нужно круглое и зелёненькое, то это будет глупейшим шагом в дискуссии.

Такие мелочи как цвет и форма тут вообще не рассматриваются. Рассматривается концепция.

А теперь, после того, как мне пришлось написать весь этот текст, хотя есть дела и поинтереснее, третий раз задаю наводящий вопрос:
Хакер писал(а):Tooltip-ы (всплывающие подсказки) могут являться примером того, чего ты хочешь достигнуть?


Надеюсь, ты не подведёшь с ответом.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 27.02.2012 (Пн) 0:53

Забавная вещь получилась.
Да, признаю с самого начала не так понял вопрос. По-началу предполагал, что речь идет о каком то элементе, о котором я не знаю, или что-то в этом роде.
Зачем вести разговор в такой манере, чтобы оттолкнуть тех, кто потенциально может помочь тебе?

Прошу прощения, если ввел тебя в заблуждение. Отталкивать кого-то и в мыслях не было.
А теперь, после того, как мне пришлось написать весь этот текст, хотя есть дела и поинтереснее

И конечно не могу не поблагодарить за то, что ты все-таки нашел на это время.
И в третий раз тот же и почти в той же формулировке:
Tooltip-ы (всплывающие подсказки) могут являться примером того, чего ты хочешь достигнуть?

Да, концепция полностью аналогична. И Tooltip-ы являются примером того, чего я хочу достигнуть.
Но по-моему, ответ "разумеется..." должен был быть вполне однозначным.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Kostyan » 12.03.2012 (Пн) 13:36

Rody66, если говорить конкретно о твоей игре, то тут стоит подумать о других способах отображения значков. Мне кажется лучшим вариантом было бы использование не Label'ов а отрисовку на форме функцией AlphaBlend.
Она позволяет выводить изображение плавно, как раз с тем эффектом что ты хочешь.
Либо просто, топорным способом, плавно менять цвет шрифта Label'а от фонового до черного. Эффект плавного появления значка так-же будет достигнут.
Нет ничего невозможного для человека с интеллектом.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 14.03.2012 (Ср) 23:09

Спасибо за помощь, и правда, варианты неплохие. Хотя я решил проблему тем, что не убирал фоновою форму полностью, а оставлял лишь прозрачность на уровне 5, и при появлении просто менялась прозрачность, при этом никакие манипуляции с фокусами не производятся. С цветом лейбла идея интересная, но вот вопрос в том, как высчитать этот промежуток цветов, например от белого до красного, либо от белого до черного, или же от желтого до синего?
Вложения
Xand0.rar
(7.51 Кб) Скачиваний: 76

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Kostyan » 15.03.2012 (Чт) 0:47

Для начала высчитываешь R, G, B - составляющие цвета лейбла. Затем делаешь цикл по увеличению/уменьшению каждой из составляющих на 1 за шаг, пока каждая из составляющих не станет равна нужному значению.
Например если у тебя цвет фона розовый (R=255, G=128, B=128), а текст необходим черный, то все три компоненты уменьшай на 1 пока каждая из них не станет равна 0.
Если же хочешь чтобы текст стал красным, увеличивай красную составляющую до 255 а остальные уменьшай до 0, и т.д.

Прилагаю пример, нажми на любой из 4-х цветных лейблов, нижний станет такого же цвета. Затем жми кнопку.
Вложения
Color.rar
Пример
(1.58 Кб) Скачиваний: 75
Нет ничего невозможного для человека с интеллектом.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Rody66 » 15.03.2012 (Чт) 6:41

Большое спасибо за помощь. Я так полагаю, алгоритм изменения цвета еще можно проработать так, чтобы по всем трем оттенкам цвет менялся одновременно и равномерно.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Как показать новое окно, не теряя фокус с родителя?

Сообщение Kostyan » 15.03.2012 (Чт) 7:04

Да, тут можно играть с цветами как угодно. Поищи, в сети много базовых алгоритмов по работе с цветами.
Нет ничего невозможного для человека с интеллектом.


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

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

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

    TopList