Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 13:17:30
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Allgemeines Forum
| | |-+  Messagebox anzeigen, trotz Form1.hide; ???
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Messagebox anzeigen, trotz Form1.hide; ???  (Gelesen 2276 mal)
AndreasMascher
Gast
« am: 06.03.2002, 18:02:17 »

Hi,

Mein Proggie läuft im Hintergrund. Die Application.Messagebox die erzeugt wird, soll aber im Vorvorvordergrund  (topmost?) angezeig werden. Wichtig, nur die Message, nicht die Form!

Wie soll ich das machen?

Hier noch mal die Funktion, zum Nachvollziehen:

Code:
Function TForm1.SearchForAlert : Integer;

var i : integer;

begin

   with ListView1 do



   for I := 0 to Items.Count - 1 do

   begin



      if Items[i].SubItems.Strings[2] = TimeToStr(Now) then

         if (Items[i].SubItems.Strings[1] = 'Heute') or

         (Items[i].SubItems.Strings[1] = GetDay) or

         (Items[i].SubItems.Strings[1] = DateToStr(Now)) then

         begin



                 //Hier muss irgendwas passieren!!!!

                 Application.Messagebox (Pchar(Items[i].SubItems.Strings[0]), Pchar(Items[i].caption), 64);

        

         end;

   end;

   result := i;

end;
Gespeichert
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #1 am: 06.03.2002, 18:36:20 »

[font size=2 face="Courier New"][font color="#000000"]Hi,

Du könntest entweder einen eigenen Dialog erstellen und ihn
dann 'topmost' setzen
oder so was analog zum Tip:
http:[font color="#000080"]//www.swissdelphicenter.ch/de/showcode.php?id=352

[/font]Dabei wird eine benutzerdefinierte Nachricht verschickt,
und nach der MessageBox gesucht.
Mit SetWindowPos wird die MessageBox topmost gesetzt.

[font color="#000080"]// Benutzerdefinierte Nachricht
[/font]const
  
mbMessage = WM_USER + 1001;

type
  
TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    
[font color="#000080"]{ Private declarations }
    
[/font]FMessageBoxCaption: string;
    procedure MessageboxSetTopMost(var Msg: TMessage); message mbMessage;
  public
    
[font color="#000080"]{ Public declarations }
  
[/font]end;

var
  
Form1: TForm1;

implementation

[font color="#000080"]{$R *.DFM}

// Message handler
[/font]procedure TForm1.MessageboxSetTopMost(var Msg: TMessage);
var
  
hMsgBox: HWND;
begin
  
[font color="#000080"]// MessageBox suchen
  
[/font]hMsgBox := FindWindow(MAKEINTRESOURCE(WC_DIALOG), PChar(FMessageBoxCaption));
  [font color="#000080"]// Falls gefunden, Topmost setzen
  
[/font]if (hMsgBox <> 0) then
  begin
    
SetWindowPos(hMsgBox, HWND_TOPMOST, 0, 0, 0, 0,
      SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
  end;
end;


[font color="#000080"]// Testen:

[/font]procedure TForm1.Button1Click(Sender: TObject);
begin
  
[font color="#000080"]// Form verstecken:
  
[/font]Form1.Hide;

  [font color="#000080"]// Benutzerdefinierte Nachricht schicken
  
[/font]PostMessage(Handle, mbMessage, 0, 0);

  [font color="#000080"]// Messagebox anzeigen
  
[/font]FMessageBoxCaption := 'Bestätigen';
  MessageBox(Handle, 'Ist die MessageBox zuoberst ?', PChar(FMessageBoxCaption),
    MB_ICONQUESTION or MB_YESNO);

  [font color="#000080"]// Form wieder anzeigen
  
[/font]Form1.Show;
end;



[/font][/font]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
AndreasMascher
Gast
« Antworten #2 am: 06.03.2002, 19:36:03 »

hey das ist toll, danke!
Gespeichert
AndreasMascher
Gast
« Antworten #3 am: 06.03.2002, 20:47:10 »

mir is da doch noch was eingefallen.

wenn ich mir eine eigene Messagebox bastel, dann fänd ich es nicht schlecht die Icons zu haben (Bei Applic.Messagebox die Zahl x ('', '', X)

Frage: In welcher DLL (wahrscheinlich) sind die eigentlich?
Gespeichert
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #4 am: 06.03.2002, 21:00:52 »

Schau mal hier nach:

[a href="http://www.swissdelphicenter.ch/de/showcode.php?id=138" target="_blank"]http://www.swissdelphicenter.ch/de/showcode.php?id=138[/a]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS