Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Как сделать PopUp окно с WinControl-ами которое не отбирает фокус   Найти похожие ветки 

 
Alexey Ponomarev   (2003-12-09 17:35) [0]

Добрый день.

Имею следующую проблему:
Нужно сделать окно, которое будет висеть над основным окном (StayOnTop) при этом фокус будет оставаться в основном окне.

Глянув на то как сделан TJvCalcEdit (это от Rx-ов им досталось)
сделал я такое окошко, но проблема состит в том что в этом окошке кроме TSpeedButton-ов (компонент не получает фокуса) есть еще наследники TWinControl (ListView, ComboBox). А вот они отбирают фокус :-(

Есть какая нить возможность добиться от них что бы они фокус не отбирали? Enable := false не рассматривается, т.е. работать с ними все равно надо.

Вот такие пироги...


 
SSergey   (2003-12-10 11:48) [1]

MyForm.ShowModal - not Good

MyForm.Show - Good


 
Mielofon   (2003-12-10 14:56) [2]


> MyForm.ShowModal - not Good
>
> MyForm.Show - Good

И чего? По вопросу то что?
Я даже больше скажу - ShowWindow(Form2.Handle, SW_SHOWNOACTIVATE) Гуд (именно им и пользуюсь в данном примере).
Фокус то все равно отбирается если ткнуть мышью...


 
nikkie ©   (2003-12-10 15:00) [3]

значит надо использовать графические контроли исключительно.


 
Mielofon   (2003-12-10 15:18) [4]


> значит надо использовать графические контроли исключительно.

А по другому ни как? А то переписывать StringGrid, ListBox, ComboBox желания не возникает...


 
Suntechnic ©   (2003-12-10 16:27) [5]

На WM_SETFOCUS возвращать фокус туда, откуда он пришёл для всех своих окошек с фокусами не пробовал?


 
nikkie ©   (2003-12-10 19:11) [6]

если контроль написан так, что он ожидает фокус... можно конечно попробовать сделать, например, как Suntechnic предлагает. но кривизна обеспечена, имхо.


 
Mielofon   (2003-12-11 08:54) [7]


> На WM_SETFOCUS возвращать фокус туда, откуда он пришёл для
> всех своих окошек с фокусами не пробовал?

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


 
Reneg@de   (2003-12-11 10:30) [8]

В res.rc у нас уже есть ресурс треб. DialogBox"a e.g. IDD_AUX...
#include "resource.h"
CreateDialog(hInst,MAKEINTRESOURCE(IDD_AUX),hWndMain,(DLGPROC)AuxDialogProc)



Страницы: 1 вся ветка

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-38702
squirrel
2004-01-22 10:53
2004.02.13
Ошибка открытия данных в IB 5.1


1-38782
turonix
2004-02-03 14:22
2004.02.13
Корректное отображение окон при смене разрешения


14-38997
kaif
2004-01-27 03:26
2004.02.13
Фолио-WinСклад


1-38811
Minotavr
2004-02-04 22:13
2004.02.13
Ctrl+Enter


1-38958
Andrey V
2004-02-03 20:03
2004.02.13
Минимизация