Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизМодальное окно уходит на задний план Найти похожие ветки
← →
DelphiN! © (2006-03-30 13:49) [0]Есть основная форма, которое вызывает модальное окно, при каких-то действиях бывает что модальное окно каким-то образом уходит на задний план, а главная форма выходит на передний, при этом создается впечатление что главная форма подвисла, пока не альтабишься на модальное окно. Сам не видел как такое происходит, но было много жалоб, как с этим бороться?
← →
McSimm © (2006-03-30 13:50) [1]кто parent модального окна ?
← →
DelphiN! © (2006-03-30 13:55) [2]Создаю динамически, свойство parent не заполняю ...
Интересно а поумолчание parent то кто? Тот кто создал?
Точно, наверное в этом и проблемма ...
← →
McSimm © (2006-03-30 13:57) [3]свойство parent не надо заполнять.
--
я кажется напутал что-то. помню давно борол такое, но подробности смешались.
← →
McSimm © (2006-03-30 13:58) [4]А на главной форме совершенно случайно нет (db)grid какого-нибудь ?
← →
DelphiN! © (2006-03-30 14:01) [5]Не, гридов на главной форме нет, TImageы, panelы, buttonы(Бизнесскиновые), TWebBrowserы только
← →
Игорь Шевченко © (2006-03-30 14:03) [6]
> Есть основная форма, которое вызывает модальное окно
Код в студию
← →
McSimm © (2006-03-30 14:05) [7]помню еще пытался бороть исчезновение модального окна, когда над каким-то из контролов со скроллбаром крутилось колесо мышки.
← →
McSimm © (2006-03-30 14:06) [8]вот только не помню каким образом оно сообщения об этом получало
← →
КиТаЯц © (2006-03-30 14:10) [9]Было. Писал здесь уже не раз. Уходит при выполнении длинного цикла в модальной форме + щелчок мышью по главной форме которая торчит из-за модальной. парент - application
Поборол забив во все циклы Application.ProcessMessage
← →
DelphiN! © (2006-03-30 14:11) [10]
if not ShowInform then
begin
if frmInform = nil then
frmInform := TfrmInform.Create(nil);
frmInform.lab.Caption := str;
frmInform.lab.Left := 10;
frmInform.lab.Top := 10;
frmInform.Width := frmInform.lab.Width+20;
frmInform.Height := frmInform.lab.Height+100;
frmInform.pnl.Left := 10;
frmInform.pnl.Width := frmInform.Width-20;
frmInform.pnl.Top := frmInform.Height-50;
frmInform.btnOk.Left := (frmInform.Width div 2)-(frmInform.btnOk.Width div 2);
frmInform.btnOk.Top := frmInform.Height-30;
ShowInform := true;
frmInform.ShowModal;
ShowInform := false;
frmInform.Free;
frmInform := nil;
end;
end;
frmInform объявлена глобально.
← →
DelphiN! © (2006-03-30 14:14) [11][9] КиТаЯц © (30.03.06 14:10)
У меня в модальном окнее вообще ничего не выполняется, выполняется только в других потоках ...
[7] McSimm © (30.03.06 14:05)
Кроме как TWebBrowser нет таких компонентов на форме, да и то только на главной, на модальном окне скиновые кнопки, панели да лабелы ..
← →
BiN © (2006-03-30 14:43) [12]Ось - XP и выше? угадал?
← →
Игорь Шевченко © (2006-03-30 14:46) [13]
> frmInform := TfrmInform.Create(nil);
>
>
почему не frmInform := TfrmInform.Create(Application); ?
← →
DelphiN! © (2006-03-30 14:48) [14][12] BiN © (30.03.06 14:43)
Угадал, а что?
[13] Игорь Шевченко © (30.03.06 14:46)
А зачем?
← →
Игорь Шевченко © (2006-03-30 14:54) [15]DelphiN! © (30.03.06 14:48) [14]
Parent автоматически присваивается.
RTFS: TWinControl.CreateWnd
← →
Игорь Шевченко © (2006-03-30 14:55) [16]Виноват, это только для Child"ов.
← →
BiN © (2006-03-30 14:59) [17]
> DelphiN! © (30.03.06 14:48) [14]
>
> [12] BiN © (30.03.06 14:43)
> Угадал, а что?
На 2003 server под Citrix-клиентом наблюдалось аналогичное поведение модальных форм. Отладка на данной системе была невозможной по ряду организационных причин. Лечилось применением SetForegroundWindow.
← →
McSimm © (2006-03-30 15:08) [18]все-таки попробуйте ради эксперимента покрутить колесо мыши над TWebBrowser - как-никак ActiveX и может жить своей собственной жизнью.
(у меня нет возможности самому проверить)
← →
DelphiN! © (2006-03-30 15:09) [19][18] McSimm © (30.03.06 15:08)
:)) Не, не уходит
← →
DelphiN! © (2006-03-30 15:19) [20][17] BiN © (30.03.06 14:59)
Чтож, спасибо, буду извращяться ...
← →
КаПиБаРа © (2006-03-30 15:33) [21]w2 sp4 D6
Модальное окно пропадает при прокручивании колеса мыши над form1. Или form1 вылазит вперед модального окна.
При прокручивании колеса над самим модальным окном все ок.
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage("ddd");
end;
← →
REA (2006-03-30 15:47) [22]Тоже такое бывает. Причем в самой IDE тоже иногда такое происходит.
Если нажать Alt-Tab, Alt-Tab - появляется нужное модальное окно.
← →
DelphiN! © (2006-03-30 15:47) [23][21] КаПиБаРа © (30.03.06 15:33)
А у меня все ОК.
Win2k3 SP1
D6 Update Pack 2
WinXP SP2 тоже все ОК
← →
КаПиБаРа © (2006-03-30 15:52) [24]Вырубил прогамку Genius NetScroll Optical Mouse (расширение функционала мышки) и стало все ок.
Теперь понятно откуда ноги растут.
← →
КаПиБаРа © (2006-03-30 15:55) [25]REA (30.03.06 15:47) [22]
Проверил в самом IDE исчезают модальные окна при включенной Genius NetScroll Optical Mouse. При отключенной все ок.
← →
DelphiN! © (2006-03-30 15:59) [26]А у моих пользователей, нет никаких драйверов для мыши дополнительных.
WinXP sp2 стоит
← →
tsa (2006-03-30 16:04) [27]Пропадают, даже у Билла - когда драйвер ставишь, а win спрашивает - всеравно продолжить или не стоит. Вот этот вопрос иногда пропадает и думаешь зависло всё и драйвер битый.
← →
REA (2006-03-30 16:04) [28]А у меня нет этой самой NetScroll и с wheel вообще похоже не связано. Надо будет выявить последовательность действий.
← →
Prohodil Mimo © (2006-03-30 16:34) [29]В некоторых случаях делаю модальному окну StayOnTop и сразу Normal - всплывают.
← →
WondeRu © (2006-03-30 16:54) [30]DelphiN! © (30.03.06 13:49)
форма создается в длл и в главной программе?
← →
WondeRu © (2006-03-30 16:55) [31]WondeRu © (30.03.06 16:54) [30]
форма создается в длл или в главной программе?
← →
antonn © (2006-03-30 18:40) [32]у меня такая же бадяга. На форме стринггрид перекрашенный на TTabbedNotebook. Само явление случайного характера, по крайней мере я так и не понял, как его получить. Но если проявилось, то лечилось только перезапуском программы. Никаких расчетов форма не вела, модальное окно создавалось динамически.
← →
_uw_ (2006-03-30 19:22) [33]Я сейчас пишу в VS 2005 (C#), но, думаю, - один фиг. Такое было, когда при открытой форме со свойством TopMost открывал диалог. Сделал диалог тоже TopMost - и хорошо.
← →
DelphiN! © (2006-03-31 07:23) [34]А мне StayOnTop даже не помогает
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.012 c