Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Nicht modale Alternative zu MessageDlgPos (https://www.delphipraxis.net/53544-nicht-modale-alternative-zu-messagedlgpos.html)

flomei 18. Sep 2005 20:55


Nicht modale Alternative zu MessageDlgPos
 
Hallo!

Ich suche nach einer Funktion die das Gleiche macht wie MessageDlgPos allerdings ohne dabei modal zu sein...

Kennt da jemand was oder was hab ich für Alternativen?

Dank im Vorraus!

MfG Florian :hi:

SirThornberry 18. Sep 2005 21:02

Re: Nicht modale Alternative zu MessageDlgPos
 
Der Messagedialog ist letztendlich auch nur ein zur Laufzeit erzeugtes Form welches Modal angezeigt wird (mit entsprechenden Btns darauf). Alternativ kannst du also auch selbst ein Form zur Laufzeit erzeugen, Btns darauf plazieren und bist somit nicht gezwungen da irgendwas modal anzuzeigen.

n0b0dy 18. Sep 2005 21:03

Re: Nicht modale Alternative zu MessageDlgPos
 
kopier dir einfach die MessageDlgPosHelp und setze da das

Delphi-Quellcode:
Result := ShowModal;
auf
Delphi-Quellcode:
Result := Show;

;)

[EDIT]
in der Praxis würde das dann so aussehen:

Delphi-Quellcode:
function MyMessageDlgPosHelp(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer;
  const HelpFileName: string): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      HelpContext := HelpCtx;
      HelpFile := HelpFileName;
      if X >= 0 then Left := X;
      if Y >= 0 then Top := Y;
      if (Y < 0) and (X < 0) then Position := poScreenCenter;
      Result := Show;
    finally
      Free;
    end;
end;


function MyMessageDlgPos(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Integer;
begin
  Result := MyMessageDlgPosHelp(Msg, DlgType, Buttons, HelpCtx, X, Y, '');
end;

//Aufruf

MyMessageDlgPos('message', ................

alias5000 18. Sep 2005 21:04

Re: Nicht modale Alternative zu MessageDlgPos
 
oder du nimmst den BalloonHint, der ab WinME in Windows dabei ist. Inzwischen gibt es dazu auch einige Komponenten wie in der JVCL.

SirThornberry 18. Sep 2005 21:08

Re: Nicht modale Alternative zu MessageDlgPos
 
@n0b0dy: Seit wann gibt "Show" ein Result zurück?

n0b0dy 18. Sep 2005 21:09

Re: Nicht modale Alternative zu MessageDlgPos
 
soll es das denn? :?

grml na klar.
jo aber wenn er selbst ne form baut und die dann Modal anzeigt is doch genau das selbe wiezuvor!?
oder er weißt diesen buttons halt ne OnClick sache zu die dann was ausführt. wäre dann das selbe als wenn er sich ne form selbst baut wie du es vorgeschlagen hast

warum soll die eigentlich net Modal sein?

SirThornberry 18. Sep 2005 21:12

Re: Nicht modale Alternative zu MessageDlgPos
 
nein, so hast du es aber geschrieben. Wenn man den Dialog nicht modal anzeigen lassen will dann sollte man daraus eine procedure machen weil diese ja sofort zurück kehrt und nicht auf das result des Dialogs (des klicks) wartet.

n0b0dy 18. Sep 2005 21:15

Re: Nicht modale Alternative zu MessageDlgPos
 
jo habe mich wohl missverständlich ausgedrückt...

[EDIT]
ach shit. grml. was laber ich heute eigetnlcih für ne kacke.... jo vergiss das alles. is echt blödsinn.
is wohl net mein tag :(

flomei 18. Sep 2005 21:23

Re: Nicht modale Alternative zu MessageDlgPos
 
STOP! *g*

Mein Problem hat sich gelöst nachdem ich das Ganzheitliche gesehen habe *g*
Da meine MessageDlgPos über nen HotKey aufgerufen werden ist es egal ob die modal sind oder nicht.

Trotzdem vielen Dank für die zahlreichen, schnellen Antworten.

MfG Florian :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz