AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

simples Meldungsfenster

Ein Thema von JSch · begonnen am 8. Nov 2006 · letzter Beitrag vom 9. Nov 2006
Antwort Antwort
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#1

simples Meldungsfenster

  Alt 8. Nov 2006, 20:27
Hallo,

... und wieder eine Anfängerfrage:
Ich möchte, während das Hauptprogramm auf Schnittstellenaktivität wartet, ein simples Meldungsfenster ohne Buttons usw ausgeben. Dazu müßte ich die Meldung vor Eintritt in die "Warteschleife" aktivieren und sobald ein Ereignis auftritt wieder deaktivieren. Also:

...
Meldungsfenster erzeugen (z.B: "Warte auf Schnittstelle")
Ereignis abwarten
Meldungsfenster schließen
...

Wie kann ich das realisieren? Mir geht es dabei nur um das Meldungsfenster (erzeugen/schließen); das Warten funktioniert schon.

Vielen Dank für eure Hilfe.

Mfg,

JSch
  Mit Zitat antworten Zitat
Thorben_K

Registriert seit: 22. Okt 2006
Ort: Darmstadt
105 Beiträge
 
Delphi 2006 Professional
 
#2

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 20:30
vielleicht versteh ich die frage nicht ganz, aber wäre

ShowMessage net das was du suchst?
Thorben
  Mit Zitat antworten Zitat
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#3

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 20:38
...im Prinzip schon, aber wie entferne ich die Message wieder vom Bildschirm ohne irgendwelche Buttons anklicken zu müssen?
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 20:40
Eine Methode wäre es, einfach das Fenster abzuknallen bzw. Enter oder Alt+F4 drücken.
  Mit Zitat antworten Zitat
Thorben_K

Registriert seit: 22. Okt 2006
Ort: Darmstadt
105 Beiträge
 
Delphi 2006 Professional
 
#5

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 20:52
oder du nimmst MessageDlg die Buttons solltest du ja auslösen können...

sonnst nimm halt nen extra formular, das kannst ja einfach schliesen
Thorben
  Mit Zitat antworten Zitat
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#6

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 21:02
... na ja, drücken und klicken wollte ich ja eben vermeiden. Nur erschien mir ein eigenes Formular für eine simple Meldung reichlich aufwändig.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 21:17
Hallo Jsch,

als schnelle Lösung reicht vielleicht das:

Delphi-Quellcode:
// uses Forms, Dialogs

function CreateMessageWindow (const aMsg: string): TForm;
begin
  Result := CreateMessageDialog(aMsg, mtInformation, []);
  Result.BorderIcons := [];
  Result.Height := 88;
  Result.FormStyle := fsStayOnTop;
  Result.Show;
  Application.ProcessMessages;
end;

procedure Test;
var
  Dlg : TForm;
begin
  // Fenster erzeugen und anzeigen
  Dlg := CreateMessageWindow('Warte auf Schnittstelle...');
  try
    // Ereignis abwarten (hier stellvertretend ein Sleep)
    Sleep (5000);
  finally
    // Fenster schließen und freigeben
    Dlg.Release;
  end;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#8

Re: simples Meldungsfenster

  Alt 8. Nov 2006, 22:29
... das sieht richtig gut aus! Werd's gleich mal ausprobieren.

Vielen Dank!!!

JSch
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#9

Re: simples Meldungsfenster

  Alt 9. Nov 2006, 09:24
@JSch: CreateMessageDialog erstellt übrigens ein Form (diese Anmerkung nur, weil Du für mich völlig unverständlicherweise geschrieben hast, dass ein Form Dir für die Anzeige einer simplen Meldung zum aufwändig wäre).
@Thorben_K: MessageDlg und Showmessage sind hier völlig ungeeignet, da das Programm bis zur nächsten Nutzeraktion (Klicken auf einen Button, Schließen des Dialogfensters) unterbrochen wird.
@Nils_13
Zitat:
Eine Methode wäre es, einfach das Fenster abzuknallen bzw. Enter oder Alt+F4 drücken.
Tastatur- bzw. Mauseingaben waren nicht gewünscht.
Und was verstehst Du unter abknallen? Wenn Du nicht zusätzliche Threads abspaltest, wird es Dir wohl kaum möglich sein, ein Showmessage programmseitig zu beenden.

Insofern dürfte also Hawkeye219s Lösung hier das beste sein.

Gruß

Thomas
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz