Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1296422980
Юрий
2011-01-31 00:29
2011.05.15
С днем рождения ! 31 января 2011 понедельник


2-1296743758
Неважно
2011-02-03 17:35
2011.05.15
Объединение таблиц


2-1296731036
student22
2011-02-03 14:03
2011.05.15
WebSnap


15-1296654628
int64
2011-02-02 16:50
2011.05.15
Как попасть на RSDN.ru?


15-1295855310
12
2011-01-24 10:48
2011.05.15
посоветуйте простой http перехватчик траффика. Локально нужен.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский