Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
2-1169172887
Lapushka-dochka
2007-01-19 05:14
2007.02.04
Перекачка данных (проблема) По Excel вопрос


5-1147246180
Чапаев
2006-05-10 11:29
2007.02.04
Наследник TDataSet


15-1168889829
The X
2007-01-15 22:37
2007.02.04
Корректное отображение кириллицы в названиях разделов в CHMхелпах


6-1157030488
DelphiLexx
2006-08-31 17:21
2007.02.04
Отправка SMS с помощью INDY


2-1169203963
FIL-23
2007-01-19 13:52
2007.02.04
создание файлов




   Наверх