Главная страница
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.032 c
6-38992
_san_
2003-12-10 18:29
2004.02.13
Проблема с TclientSocket


3-38730
Serge12345
2004-01-20 23:36
2004.02.13
ADO+Paradox почему Could not convert varian of type(Null) into Ty


1-38912
Olivka
2004-02-04 12:21
2004.02.13
Параметры запроса в FIBdataset.UpdateSQL


1-38956
Layner
2004-02-03 11:17
2004.02.13
Как узнать загрузку процессора?


14-39035
syte_ser78
2004-01-27 11:26
2004.02.13
Биос на KT133A Soltek