Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.08 c
9-1113489380
П7
2005-04-14 18:36
2005.07.31
Быстрый 2D рендеринг без OpenGL, DirectX и компонетов


8-1112082622
ut1wpr
2005-03-29 11:50
2005.07.31
Генерация двух тонов одновременно. Консольное приложение.


1-1121072709
new___
2005-07-11 13:05
2005.07.31
Columns в VirtualStringTree


14-1120694921
vidiv
2005-07-07 04:08
2005.07.31
c++ под linux


9-1112952150
Venom Spawn
2005-04-08 13:22
2005.07.31
Генерация карты





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