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

Вниз

Как можно вывести сообщение по верх других окон?   Найти похожие ветки 

 
17Landgraf   (2007-01-17 13:40) [0]

Добрый день Уважаемые участники форума!

Как можно вывести сообщение по верх других окон?
Поясню: У меня есть программка, сидит в трее, мне надо чтоб раз в день она  выдавала сообщение (напоминание). Т.е если я работаю в Word-е, надо чтоб я увидел это сообщение (т.е. оно должно появиться по верх остальных окон).

Я знаю есть API функция: BringWindowToTop

Если использовать такой код:

begin
  ShowMessage("Test");
  BringWindowToTop(FindWindow("TMessageForm","Project"));
end;


то он не работает. Как я понял, когда выскакивает окно с сообщением,все управление передается именно этому окну. И функция срабатывает только, когда управление передается назад основному окну. Но формы с сообщением уже нет :) Соответственно FindWindow возвращает ноль.

Подскажите решение этой задачи?


 
Сергей М. ©   (2007-01-17 13:46) [1]

MessageBox(0, "Текст", "Заголовок", MB_OK or MB_SYSTEMMODAL);


 
Джо ©   (2007-01-17 13:46) [2]


> Подскажите решение этой задачи?

Создай свой форму, выставь FormStyle := fsStayOnTop и вот текст модуля:

unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm2 = class(TForm)
   Label1: TLabel;
   Button1: TButton;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

// Используй вместо ShowMessage
procedure ShowTopWindow (const Msg: string);

implementation

{$R *.dfm}

procedure ShowTopWindow (const Msg: string);
var
 Dlg: TForm2;
begin
 Dlg := TForm2.Create(nil);
 try
   Dlg.Caption := Msg;
   Dlg.ShowModal
 finally
   Dlg.Free
 end;
end;

end.

И всех делов :)


 
Джо ©   (2007-01-17 13:46) [3]

>   Dlg.Caption := Msg;

Dlg.Label1.Caption


 
17Landgraf   (2007-01-17 13:59) [4]

Спасибо всем откликнувшимся ;-)


 
17Landgraf   (2007-01-17 16:32) [5]

Вот здесь возник еще один вопросик:
Как можно изменить шрифт в тексте сообщения: сделать его жирным?
Сообщение выводится вот так:
MessageBox(0, "Текст", "Заголовок", MB_OK or MB_SYSTEMMODAL);


 
Джо ©   (2007-01-17 16:44) [6]

>
>
> [5] 17Landgraf   (17.01.07 16:32)
> Вот здесь возник еще один вопросик:
> Как можно изменить шрифт в тексте сообщения: сделать его
> жирным?

Сделать свою форму. См. [2].


 
Amoeba ©   (2007-01-17 16:47) [7]

Никак.



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

Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1169113274
Beavercrazy
2007-01-18 12:41
2007.02.04
Как определить координаты ячейки в строке?


15-1169050936
Kerk
2007-01-17 19:22
2007.02.04
[Usability] Что-то вроде диспетчера такси


15-1169034793
Ega23
2007-01-17 14:53
2007.02.04
Ну вот прошёл тестирование


2-1168911065
Марс
2007-01-16 04:31
2007.02.04
Как вклеить текстуру на текстуру, чтобы края плавно переходили из


3-1163579842
kulkse
2006-11-15 11:37
2007.02.04
Если сервер отключен (как обработать ошибку)





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