Текущий архив: 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.45 MB
Время: 0.045 c