Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Вниз

Как сделать 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
4-39134
vasil
2003-12-09 13:00
2004.02.13
Как на WinAPI заполнить ComboBox


14-38999
syte_ser78
2004-01-22 09:00
2004.02.13
Siemens A50


1-38860
AndersoNRules
2004-02-02 12:16
2004.02.13
Mojno li programno dati useru bolishe privelegii chem esti ...


1-38937
Альф
2004-02-03 16:18
2004.02.13
Перекрытие абстрактного метода


14-39001
фотограф
2004-01-19 18:41
2004.02.13
фотоаппарат Canon PowerShot





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский