Форум: "Начинающим";
Текущий архив: 2011.05.15;
Скачать: [xml.tar.bz2];
Внизиспользование TDialogOpen Найти похожие ветки
← →
Fr (2011-02-06 13:16) [0]Вызываю:
if OpenDlg1.Execute then begin
...
end;
И, почему-то, сам диалог уходит при исполнении на задний план. Чтобы его увидеть приходится переключаться между окнами Alt+Tab.
В чем причина?
← →
sniknik © (2011-02-06 14:14) [1]> В чем причина?
не в показанном коде, точно, а например в скрытых извращениях типа вкладывания этого вызова в dll и т.д.
← →
Fr (2011-02-07 15:29) [2]Никаких извращений нет. Есть основная форма. На ней лежит кнопка. При нажатии на эту кнопку создается вторая форма, на которой лежит TOpenDialog. При execute этого диалога сам диалог оказывается на заднем плане. Вопрос - почему?
procedure TfrmMain.mmOpenClick(Sender: TObject);
var j: integer;
begin
Tfrm1.CreateWithHint(Application,"2",""); // создание второй формы и запись в ее Hint "2"
for j:=0 to Screen.FormCount-1 do
with Tfrm1(Screen.Forms[j]) do
if Hint="2" then begin
mOpenFileClick(Self);
break;
end;
end;
procedure Tfrm1.mOpenFileClick(Sender: TObject);
begin
try
if OpenDlg1.Execute then begin
...
end;
...
finally
...
end;
end;
← →
clickmaker © (2011-02-07 15:34) [3]> Никаких извращений нет
а по-моему есть. Зачем такой странный способ вызова диалога? Почему из TfrmMain не вызвать?
← →
Fr (2011-02-07 15:35) [4]
> Почему из TfrmMain не вызвать?
ну нужно мне так :)
← →
clickmaker © (2011-02-07 15:36) [5]> ну нужно мне так :)
ССЗБ
← →
Jeer © (2011-02-07 15:40) [6]
> Никаких извращений нет.
Полный комплект.
← →
Плохиш © (2011-02-07 15:49) [7]
> procedure TfrmMain.mmOpenClick(Sender: TObject);
> var j: integer;
> begin
> Tfrm1.CreateWithHint(Application,"2",""); // создание
> второй формы и запись в ее Hint "2"
> for j:=0 to Screen.FormCount-1 do
> with Tfrm1(Screen.Forms[j]) do
> if Hint="2" then begin
> mOpenFileClick(Self);
> break;
> end;
> end;
>
Это типа 4 байта в стеке съэкономил?
Ну так ССЗБ
← →
Fr (2011-02-07 15:52) [8]Т.е. результат ваших "Буратин" :) : открывать диалог из главной формы, а не из вновь создаваемой?
А причина-то какая? из-за чего уходит на второй план диалог?
← →
Fr (2011-02-07 15:53) [9]сама новая форма нормально отображается на переднем плане, а диалог за ней :(
← →
Плохиш © (2011-02-07 15:58) [10]Потому что, по коду, сначала показывается диалог, после обработки из стека выбирается и обрабатывается сообщение на показ созданной формы.
← →
clickmaker © (2011-02-07 16:01) [11]может быть, открою тайну, но диалог можно вообще не класть на форму
достаточно так
with TOpenDialog.Create
do begin
if Execute then
...
← →
Dennis I. Komarov © (2011-02-07 16:16) [12]
> можно вообще не класть на форму
Люди!!! Да что же это делается! Как же так? В этом и есть вся смысла программирования. Это так мы дойдем и до программ без форм, что же тогда делать? Сегодня диалог на форму не бросили, а завтра батонов в палитре нету... :(
← →
b z (2011-02-07 16:57) [13]
> clickmaker © (07.02.11 16:01) [11]
А если положил так сразу проблеммы начинаются?
← →
Jeer © (2011-02-07 17:09) [14]
> А если положил
то, да.
← →
b z (2011-02-07 17:13) [15]
> Jeer © (07.02.11 17:09) [14
И тчо?
← →
Дмитрий Белькевич (2011-02-07 18:23) [16]
> Сегодня диалог на форму не бросили, а завтра батонов в палитре
> нету... :(
Как страшно жить...
← →
clickmaker © (2011-02-07 22:46) [17]> А если положил так сразу проблеммы начинаются?
проблемы начинаются при трансректальных попытках вызова этого диалога )
← →
sniknik © (2011-02-08 00:10) [18]>> А если положил
> то, да.
реально! я вот повторил этот изврат, как мог, с Гейтс-кой помощью, и по своему разумению восстановил, опять так и не показанную здесь CreateWithHint, в которой поклал на все... и диалог не уходит на задний план! тусуется на переднем... нада же. ;)
← →
Германн © (2011-02-08 01:32) [19]
> реально! я вот повторил этот изврат, как мог, с Гейтс-кой
> помощью, и по своему разумению восстановил, опять так и
> не показанную здесь CreateWithHint,
Я бы не смог найти своё разумение в том бреде!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.05.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c