Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-38691
Set
2004-01-23 16:37
2004.02.13
Подключить базу, которая на другом компьютере


3-38674
Lucky_elf
2004-01-24 16:45
2004.02.13
Не работает LIKE в IB


1-38948
Kinderrr
2004-02-04 00:34
2004.02.13
Интервал времени


8-38960
DelphiNew
2003-10-14 12:21
2004.02.13
Улучшение печати графики


3-38718
Vi0let
2004-01-22 07:13
2004.02.13
Почему везде в примерах по локалкам используют Paradox?




   Наверх