Главная страница
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.034 c
8-1111910730
sashik
2005-03-27 12:05
2005.07.31
opengl


6-1113996842
MetalFan
2005-04-20 15:34
2005.07.31
Shutdown по сети


1-1121353931
Леха
2005-07-14 19:12
2005.07.31
Размер файлов


4-1117737329
oleg_SYS
2005-06-02 22:35
2005.07.31
IDispatch from Handle


3-1119611318
jiny
2005-06-24 15:08
2005.07.31
Как перестроить таблицу индексов при запуске программы ?