Главная страница
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.044 c
14-39078
ИМХО
2004-01-23 22:45
2004.02.13
Теория Большого Взрыва


4-39129
Pontic
2003-12-10 12:20
2004.02.13
Имя пользователя Windows


3-38725
Oleg_em
2004-01-22 07:09
2004.02.13
Ошибка при подключении к базе IB


1-38832
snake1977
2004-02-02 18:53
2004.02.13
DLL и TTabsheet


14-39032
Dmitriy O.
2004-01-26 11:10
2004.02.13
Присутствие программистов на Марсе необходимо !