@ uligerhardt
Danke, in Verbindung mit Borderstyle=bsnone funktioniert es.
Die Microsoft Hilfe zu dem Thema ist leider reichlich undurchsichtig. Statt der verschiedenen vordefinierten Konstanten, die zum Teil mehrere Bits kombinieren, wäre es hilfreicher, wenn beschrieben wäre, was jedes einzelne Bit bewirkt, und welche Bits miteinander inkompatibel sind.
Ich habe jetzt mit verschiedenen Einstellungen ein bißchen experimentiert, z.B. bei
or WS_CHILD
erscheint kein Fenster und die Anwendung friert komplett ein -
or WS_CHILD and not WS_POPUP
stürzt genauso ab.
Darum erstelle ich ein Meldungsfenster im Regelfall immer mit poScreenCenter in Verbindung mit dmActiveForm.
Ich finde, eine solches Meldungsfenster sollte standardmässig relativ zur gerade vorher aktiven Form zentriert werden, nicht relativ zum Bildschirm. Das hat mich besonders beim Standarddialog mit Timeout gestört, bei dem habe ich nämlich keine einfache Möglichkeit gefunden, die Position zu verändern.
Delphi-Quellcode:
function MessageBoxTimeOut(hWnd: HWND; lpText: PChar; lpCaption: PChar; uType: UINT;
wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall;
external user32 name 'MessageBoxTimeoutW';