Главная страница
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.077 c
1-1121159860
Uzver32.dll
2005-07-12 13:17
2005.07.31
Массив компонентов без компонентов


4-1117543678
Lucifer
2005-05-31 16:47
2005.07.31
Как проверить, что в CD-ROm вставили новй диск?


1-1121171705
race1
2005-07-12 16:35
2005.07.31
Перемещение панели


14-1120844696
Kerk
2005-07-08 21:44
2005.07.31
Сдохло колесико у мышки :(


8-1111825300
Alegfdg
2005-03-26 11:21
2005.07.31
opengl