Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

Как показать модальное окно после развертывания главного?   Найти похожие ветки 

 
Dr. Andrew   (2005-07-14 03:40) [0]

Необходимо автоматически показать модальное диалоговое окно "Подсказка дня" сразу же после развертывания главного окна программы на весь экран. Пожалуйста, мастера, подскажите небольшим практическим примером как эту задачу можно решить.
Всем спасибо!


 
Dr. Andrew   (2005-07-14 09:19) [1]

Уточнение.
Мои попытки прописать код вызова диалогового окна "Подсказка Дня" (Form2.ShowModal) в стандартные процедуры формы (onCreate, onShow, onResize) не привели к успеху. Может кто-то может подсказать путь решения этой проблемы?
Спасибо!


 
msguns ©   (2005-07-14 10:50) [2]

OnActivate с флажком 1-го вызова ?


 
sniknik ©   (2005-07-14 10:58) [3]


unit Unit1;

interface

uses
 Windows, Messages, Forms;

const
 WM_MYFOFMSHOW = WM_USER + 101;

type
 TForm1 = class(TForm)
   procedure FormShow(Sender: TObject);
 private
   procedure MyFormShow(var Msg: TMessage); message WM_MYFOFMSHOW;
 public
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
 PostMessage(Handle, WM_MYFOFMSHOW, 0, 0);
end;

procedure TForm1.MyFormShow(var Msg: TMessage);
begin
 Form2.ShowModal;
end;

end.


 
Dr. Andrew   (2005-07-14 11:23) [4]

sniknik!
Спасибо за конкретный пример!
Работает!
Вопрос к sniknik - все же какую функцию - SendMessage или PostMessage более рационально применить для этой задачи. Если SendMessage, то как изменится приведенный код? И в чем отличие?

msguns
Вопрос к Вам - что Вы конкретно имеете ввиду? Можете привести конкретный код Вашего решения?

Вопрос для всех - это единственное решение или есть еще возможности решить данную задачу?

Всем спасибо за помощь!


 
sniknik ©   (2005-07-14 11:50) [5]

> Если SendMessage, то как изменится приведенный код? И в чем отличие?
попробуй и узнаеш... ;о))

отличия - первый событие ставит в очередь и завершается, второй делает вызов и ждет результат. в справке это есть.

вот интерпретация чего имел ввиду msguns (копировать со всеми даже непонятным символами ;о)))

{$J+}
procedure TForm1.FormActivate(Sender: TObject);
const once: boolean = true;
begin
 if once then begin
   Form2.ShowModal;
   once:= false;
 end;
end;
{$J-}


 
Dr. Andrew   (2005-07-14 11:57) [6]

Спасибо всем!



Страницы: 1 вся ветка

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
14-1120562819
Narik
2005-07-05 15:26
2005.07.31
Mozilla Thunderbird (почтовый клиент)


1-1120682032
ronyn
2005-07-07 00:33
2005.07.31
Сохранение параметров и настроек программы при её закрытии


1-1121322454
zamik
2005-07-14 10:27
2005.07.31
Опять вопрос по QReport


8-1111994692
rurip1
2005-03-28 11:24
2005.07.31
вывод видео


14-1120565584
Vlad Oshin
2005-07-05 16:13
2005.07.31
вторничная задачка. Угадыватель.