Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
509 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: ShowMessage auf bestimmten Bildschirm

  Alt 14. Mär 2006, 09:00
Also ich löse das bei mir folgendermassen:

Delphi-Quellcode:
function MessageDialog(const Msg: string;
                       DlgType: TMsgDlgType;
                       Buttons: TMsgDlgButtons;
                       const HelpFileName: String;
                       HelpCtx: Longint;
                       Default: String): Integer;
var
  ActForm : TCustomForm;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      Font.Name := 'MS Shell Dlg';
      HelpContext := HelpCtx;
      HelpFile := HelpFileName;
      ActForm := Screen.ActiveForm;
      If ActForm = nil then
        begin
          Position := poMainFormCenter;
        end
      else
        begin
          Left := Round (ActForm.Left + ((ActForm.Width div 2) - (Width div 2)));
          Top := Round (ActForm.Top + ((ActForm.Height div 2) - (Height div 2)));
        end;
      ActiveControl := TButton(FindComponent(Default));
      Result := ShowModal;
    finally
      Free;
    end;
end;
Dadurch zentriert sich die Hinweisbox immer auf dem Fenster meiner Anwendung. Und ich kann einen bestimmten Button als Default deklarieren.
  Mit Zitat antworten Zitat