Как убрать мигание при переводе фокуса с формы на форму?

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

Как убрать мигание при переводе фокуса с формы на форму?

Сообщение Nikita » 11.11.2003 (Вт) 18:39

есть две формы
одна выделена, кликаем на другую, она становится активной, при этом происходит мигание, бывшее активным окном затемняется, ставшее активным - осветляется

как избавиться от этого эффекта?

пример - комбобокс, список в комбобоксе - отдельное окно, оно становится активным, но форма на которой находится комбобокс, не мигает

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 11.11.2003 (Вт) 19:10

ни как. потому что эти окна никак не связаны друг с другом.

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

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

Welcome to IRC

Nikita
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.02.2003 (Ср) 15:09
Откуда: Russia

Сообщение Nikita » 11.11.2003 (Вт) 20:03

а как их связать чтоб было "как"?:) что значит "дочернее" и чем оно поможет?

что значит "другой класс окна"?

Nikita
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.02.2003 (Ср) 15:09
Откуда: Russia

Сообщение Nikita » 11.11.2003 (Вт) 20:13

либо, несколько измененная задача, как при нажатии клавиши мышки над формой вклиниться до передачи форме фокуса, и закрыть форму?

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 11.11.2003 (Вт) 20:23

нет так не пойдет...
давай-ка ты лучше объясни конкретно что ты пытаешся сделать и что не так... а то я, если честно, не совсем понимаю, чтоже тебе все-таки нужно...
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Nikita
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.02.2003 (Ср) 15:09
Откуда: Russia

Сообщение Nikita » 11.11.2003 (Вт) 20:45

делаю аналог комбобокса

на форме frmMain есть текстовое поле textbox
есть форма frmList которая имеет parent - frmMain, т.е. frmList всегда над frmMain.
когда textbox получает фокус, под ним делается visible frmList, когда textbox теряет фокус, то frmList исчезает.
на frmList есть listBox.
когда frmList видима, т.е. висит "под" textBox, при проведении над ней мышкой соответствующий элемент в listBox становится выделенным (при этом фокус остается в frmMain).
при клике над frmList listBox обрабатывает что над ним нажата клавиша мышки, пишет в textBox элемент на который кликнули, и делает hide форме frmList.
проблема в том, что последнее пока реализовано некрасиво, поскольку при клике над listBox frmList успевает получить фокус, соответственно мигнуть (frmMain "темнеет", frmList "светлеет"), мигание нужно убрать.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 12.11.2003 (Ср) 6:29

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

Welcome to IRC

Nikita
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.02.2003 (Ср) 15:09
Откуда: Russia

Сообщение Nikita » 12.11.2003 (Ср) 10:52

я посмотрел, там присутствует эта же проблема - при появлении меню, на него переходит фокус, получается перемигивание

надо - чтобы сделать свой комбобокс но несколько не комбобоксового вида :)

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 12.11.2003 (Ср) 17:32

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

Welcome to IRC

Nikita
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.02.2003 (Ср) 15:09
Откуда: Russia

Сообщение Nikita » 12.11.2003 (Ср) 20:45

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

попробовал реализовать обычным combobox

возникли проблемы .. на combo_change я apiшно открываю список, прохожусь по нему removeitem 0 пока не опустеет, и в зависимости от текущего combo.text записываю в него полученный набор строк.
при этом при каждом combobox.additem добавляемый item автоматически становится selected, и combobox.text меняется на его значение, кроме того, "выпавший" список не перерисовывается, т.е. если он открылся и я заполнил его 5ю строками, потом заполнил 3мя, то старый на 5 строк остается видимым, и поверх него рисуется новый на 3 строки.


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

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

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

    TopList  
cron