Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   WS_POPUP Windowstyle hat seltsamen Nebeneffekt (https://www.delphipraxis.net/185632-ws_popup-windowstyle-hat-seltsamen-nebeneffekt.html)

Bernhard Geyer 26. Jun 2015 09:20

AW: WS_POPUP Windowstyle hat seltsamen Nebeneffekt
 
Zitat:

Zitat von BadenPower (Beitrag 1306661)
Zitat:

Zitat von uligerhardt (Beitrag 1306652)
Noch ein Nörgelkommentar: Messageboxen ohne Titelleiste hat z.B. List&Label, und ich hasse es. Die sind manchmal kaum zu sehen.

Und wenn dann naoch jemand meint, er müsse die Property "Position" der Form auf "poDesktopCenter" stellen, dann wird es ganz spassig.

Stört das bei 3 Bildschirmen :-) (Ok, hab nur 2 - Da sind solche Desktopzentrierten Dialog "Suboptimal")

BadenPower 26. Jun 2015 09:35

AW: WS_POPUP Windowstyle hat seltsamen Nebeneffekt
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1306672)
(Ok, hab nur 2 - Da sind solche Desktopzentrierten Dialog "Suboptimal")

Bei 2 Monitoren ist es noch schlimmer als bei 3, da Du ja noch die Monitorumrandungen hast, welche beim Lesen der Meldung extrem stören.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1306672)
Stört das bei 3 Bildschirmen :-

Auch bei meinem 3 Monitor-System ist es für mich sehr oft störend, da die Meldung immer auf dem mittleren Monitor erscheint und dies ist dann meistens nicht der, auf welchem das Fenster liegt, welches die Meldung verursacht hat.

Darum erstelle ich ein Meldungsfenster im Regelfall immer mit poScreenCenter in Verbindung mit dmActiveForm.

idefix2 26. Jun 2015 10:25

AW: WS_POPUP Windowstyle hat seltsamen Nebeneffekt
 
@ 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
Delphi-Quellcode:
or WS_CHILD
erscheint kein Fenster und die Anwendung friert komplett ein -
Delphi-Quellcode:
or WS_CHILD and not WS_POPUP
stürzt genauso ab.

Zitat:

Zitat von BadenPower (Beitrag 1306679)
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';


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Seite 2 von 2     12   

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