Entwickler-Ecke
Sonstiges (Delphi) - Hintergrund MesaageDlg
dude - Fr 21.03.03 14:52
Titel: Hintergrund MesaageDlg
Hi,
wenn ich einen Timer baue, der jede Sekunde überprüft, ob 2 werte miteinander gleich sind, ( also if (label1.caption = label2.caption) und ich
dann einen Dialog haben will, also:
Quelltext
1:
| MessageDlg('Sie haben ihre Maximale Zeit erreicht!', mtInformation,[mbOk], 0); |
dann funktioniert das ganze.
Und nun, wenn ich nun aber nicht das Fenster aktiv habe, dann ist
1. hört die Zeit nicht auf zu stoppen, obwohl es programmiert ist
2. der MessageDlg wird nicht angezeigt
Woran kann das liegen, wie kann man das programmieren, das es funktioniert ?
MFG
Aya - Fr 21.03.03 17:07
Titel: Re: Hintergrund MesaageDlg
Hi,
Der MessageDlg/ShowMessage ist ja Form abhängig... also wenn das Form im Hintergrund oder Minimiert ist, wird auf das MessageFenster im Hintergrund oder Minimiert sein.. ;)
Die einzige lösung die ich so auf anhieb wüsste wäre, das du einfach ein eigenes Form machst für deine Message welches du dann mit ShowModal anzeigst...
Hoffe geholfen zu haben :)
Au'revoir,
Aya~
Delete - Fr 21.03.03 18:00
Ein MessageDlg ist wohl nur anwendungsmodal. Versuch mal eine Messagebox, die du systemmodal machst.
dude - Fr 21.03.03 21:05
Und, äh, wie macht man sowas Systemmodal ?
Ich hab von so einem Begriff keine Ahnung!
dude - So 23.03.03 13:13
ach, noch eine frage, wie kann ich z.B. mb_ok und mb_systemmodal in eine spalte machen ?
Beispiel:
Quelltext
1:
| MessageBox(hwnd(0),'Sie haben die maximalzeit erreicht!','Zeit abgelaufen',mb_systemmodal); |
da bei mb_systemmodal soll noch z.B. ein mb_ok rein.
--
Und dann noch, hätte jemand eine Idee, wie das gleiche Problem mit einem Timer funktioniert ? Beim Starten funktioniert ? Villeicht liegt es auch nur am Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| if memSave.Lines[5] = '1' then begin if labminTime.Caption = labmaxTime.Caption then begin if memSave.Lines[6] = '1' then begin MessageBox(hwnd(0),'Sie haben die Maximale Zeit erreicht!','Zeit abgelaufen',mb_systemmodal); end; if memSave.Lines[6] = '2' then begin playsound(PChar(memSave.lines[8]),0,SND_FILENAME + SND_ASYNC); end; if memSave.Lines[7] = '1' then begin tmrTimer.Enabled := false; end; if memSave.Lines[7] = '2' then begin // ABWÄHLEN !! end;
end; end; |
Wenn da jemand durchblickt, an was könnte es liegen?
Delete - So 23.03.03 14:42
Ich habe dir doch gesagt, du sollst sie mit or verknüpfen MB_SYSTEMMODAL or MB_OK.
dude - So 23.03.03 15:05
ups, sorry - nachdem ich mich mit der messageBox befasst hatte, hatte ich dein beitrag grad vergesssen mit dem or!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!