AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ShowMessage ungewollt auf zweitem Monitor
Thema durchsuchen
Ansicht
Themen-Optionen

ShowMessage ungewollt auf zweitem Monitor

Ein Thema von mcmichael · begonnen am 1. Jul 2009 · letzter Beitrag vom 1. Jul 2009
Antwort Antwort
Benutzerbild von mcmichael
mcmichael

Registriert seit: 5. Jun 2008
Ort: Bremen
79 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 16:22
Hallo Experten,

ich verwende einen zweiten Monitor, der Windows-Desktop ist auf diesen erweitert.
Im Programm wird das Fenster der Message nach dem Showmessage auf diesem
zweiten Monitor dargestellt. Das Form aus dem ich Showmessage aufrufe ist
auf dem ersten und der ist auch der Primär-Monitor.
Weiß jemand wie ich das Verhalten beeinflussen kann?

Danke,
McMichael
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 16:44
Welche Delphi-Version? Ältere haben so ihre Probleme mit Mehr-Bildschirmbetrieb.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#3

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 16:45
Wo liegt das MainForm zur Designzeit? Wird es zur Laufzeit verschoben?
Welche Option für die Postiotn des MainForms ist gesetzt? (poDesigned/poScreenCenter)

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von mcmichael
mcmichael

Registriert seit: 5. Jun 2008
Ort: Bremen
79 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 20:50
Zitat:
Welche Delphi-Version? Ältere haben so ihre Probleme mit Mehr-Bildschirmbetrieb.
Delphi 5 - definitiv eines der älteren. Von Delphi 2009 lasse ich zur Zeit lieber
die Pfoten - das Programm liefert bei Kompilierung durch D2009 ab und zu Exceptions.

Zitat:
Wo liegt das MainForm zur Designzeit? Wird es zur Laufzeit verschoben?
Welche Option für die Postiotn des MainForms ist gesetzt? (poDesigned/poScreenCenter)
Das MainForm liegt auf dem ersten Monitor. Es wird nicht verschoben.
poDesigned ist gesetzt. Und auch beim Entwurf liegt's auf dem ersten Monitor.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 21:21
Delphi-Quellcode:
// dieses
ShowMessage(Msg);

// ruft jenes auf
ShowMessagePos(Msg, -1, -1);

// welches wiederum an dieses weiterleitet
MessageDlgPos(Msg, mtCustom, [mbOK], 0, -1, -1);

// was nochmals an das weitergeleitet wird
MessageDlgPosHelp(Msg, mtCustom, [mbOK], 0, -1, -1, '');

// welches dann WindowsVersions- und Themeabhängig dort weitergeht
DoTaskMessageDlgPosHelp('', Msg, mtCustom, [mbOK], 0, -1, -1, '')
// oder
DoMessageDlgPosHelp(CreateMessageDialog(Msg, mtCustom, [mbOK]), 0, -1, -1, '');

// und CreateMessageDialog erstellt es letztendlich dort
Left := (Screen.Width div 2) - (Width div 2);
Top := (Screen.Height div 2) - (Height div 2);
also bei ShowMessage kannst du nix festlegen
und es ist auch vollkommen unabhängig von einer Form, von wessen Ereignisprozeduren es aus aufgerufen wird.
(denn keine der Funktionen da oben bekommt mitgeteilt, an welcher Form es sich ausrichten soll )

Ab ShowMessagePos kannst du die Position selbst festlegen.

Aber es wäre einfacher einen Dialog zu nehmen, welcher seine "Mutter"-Form mitgeteilt bekommt und sich dann daran ausrichtet.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von mcmichael
mcmichael

Registriert seit: 5. Jun 2008
Ort: Bremen
79 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 21:25
fantastisch - Danke!
  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 07:54 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