Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как закрыть Popup и открыть его СРАЗУ снова [Win95/98, WinME, NT4, Win2k, WinXP]


Nostradamus ©   (2006-11-30 04:59:00) 

Я "открываю" попап и ставлю фокус так чтобы пользователь мог вводить текст в другой программе. Взависимоти от того что он вводит попап должен меняться. Проблема состоит в том что при удалении/добавлении айтемов он сильно мигает, что не есть красиво. Поэтому я решил, что будет лучше спрятать попап поменять его содержание и снова открыть.
Только вот не получается :(

Пробовал так:

procedure OnNeedRepaint; //нужна перерисовка
begin
EndMenu;
... //здесь перерисовываю
Popup.Popup(XN, YN); //показываю
end;

При испольовании этого кода попап показывается в 1й раз, 3й, 5й,  и т.д. Тоесть через один.
Чувствую, что проблема с таймингом, но никак не пойму как решить.

Помоги пожалуйста советом.

П.С. Для того что спрятать меню пробовал также
1. SendInput(VK_ESCAPE....)
2. Post/SendMessage(WM_CANCELMODE...)
Результат был тот же.


Nostradamus   (2006-12-02 04:04:00) [1]


> PS. Это что-то новое. Динамичиски изменяемое, древовидное
> Popup-окно.


Ну, а зачем писпть что-то старенькое :)


> Еще как красиво. Можно сделать ничуть не менее красиво,
> чем, например, меню Пуск в XP. Правда оно из тулбаров, но
> не суть важно, можно сделать из чего угодно, даже из табконтролов.
>


Я уже просёк эту тему и уже заканчиваю свою имитацию попапа спомощью листбоксов.


DVM   (2006-12-01 14:54:00) [2]


> Не красиво будет :(

Еще как красиво. Можно сделать ничуть не менее красиво, чем, например, меню Пуск в XP. Правда оно из тулбаров, но не суть важно, можно сделать из чего угодно, даже из табконтролов.


Наиль   (2006-12-01 13:15:00) [3]

> Проблема состоит в том, что листбокс мне не подходит т.к.
> нужно выводить древовидную структуру данных.

Ещё как подходит.
Пример: Total (Norton) Comander.
В одной панели (читай, ListBox) находится список с помощью которого, можно запросто перемещаться по древовидной структуре файловой системы. Так что проблема не в решении, а в ограничениях заданных для решения.

PS. Это что-то новое. Динамичиски изменяемое, древовидное Popup-окно.


Nostradamus   (2006-11-30 19:43:00) [4]

Ну всё понятно, если уже мастера другие контролы предлагают, то ловить уже нечего :( Пуду имитировать попап.

Спасибо тем кто пытался помочь.


clickmaker   (2006-11-30 16:28:00) [5]


> [2] Nostradamus ©   (30.11.06 14:46)

а TreeView?


Nostradamus   (2006-11-30 15:09:00) [6]

Значит это много листбоксов

Не красиво будет :(
Я не могу в это поверить, что никто не может справиться с какими-то попапами.


DVM   (2006-11-30 14:49:00) [7]


> что листбокс мне не подходит т.к. нужно выводить древовидную
> структуру данных

Значит это много листбоксов


Nostradamus   (2006-11-30 14:46:00) [8]

Проблема состоит в том, что листбокс мне не подходит т.к. нужно выводить древовидную структуру данных. Если уже конечно совсем ничего нельзя сделать буду имитировать попап другими компанентами, но не очень хочется :(


Elen   (2006-11-30 07:38:00) [9]


> Nostradamus

Друг. Когда я хочу сделать динамически меняюшийся попап я располагаю на другой форма ListBox и убираю ему границы - становится примерно похоже на ПопАп и менять его содержимое удобно без геммора. Можно также воспользоваться ToolBar, Но Listbox мне лично удобнее. Была такая же задача тоже с попапом пришлось помучаться - и в результате плюнуть. Мусль уловил?...


Наверх

Титульная страница Поиск, карта сайта Написать письмо