![]() |
WM_NCLButtonUp
Hm, habe jetzt erkannt, dass "inherited" sehr wohl einen entscheidenden Einfluß hat. Aber trotzdem bekomme ich bei Aufruf der o.g. Windows-Message nur eine Rreaktion, wenn vorher durch Aufruf der Message WM_NCLBottomDown das Message-Ergebnis auf 0 gesetzt wird - damit verhindere ich aber die ursprünglichen Funktionalitäten (Fenster verschieben). Also, langer Rede kurzer Sinn, Alles soll so bleiben wie es ist, ich möchte lediglich eine zusätzlich Funktionalität einbauen, wenn die linke Maustaste in/über der FormCaption losgelassen wird. geht das nicht, oder bin ich heute Abend zu blöde :oops:
|
Re: WM_NCLButtonUp
zeich ma n büschen code. überschreiben der nachrichtenbehandlung is im prinzip nicht soooo schwierig.
|
Re: WM_NCLButtonUp
Moin pstruh,
das ist ja ein interessantes Phänomen. Es geht übrigens auch, wenn das Formular maximiert ist (ohne das WM_NCLBUTTONDOWN Result auf 0 zu setzen). Ich vermute mal, dass das ein Problem der VCL ist. Bei einem non-VCL-Programm würde es wohl funktionieren. |
Re: WM_NCLButtonUp
Hallo Lukas,
der Code ist nicht der Rede wert. Eigentlich soll in
Delphi-Quellcode:
das funktioniert aber nur, wenn ich mit
procedure TForm4.WMNCLeftButtonUp(var Message:TMessage);
begin ShowMessage('left up'); // << nur zum Test, hier soll eine Proc aufgerufen werden, die NIX // am weiteren Windows-Handling verändert, sondern nur im Programm // interne Reorganisationsaufgaben bearbeitet end;
Delphi-Quellcode:
die Windows-Funktionalitäten quasi ausschalte: Dann kann ich natürlich nicht mehr das Fenster verschieben, ist also indiskutabel. Noch mal: Ich benötige eigentlich nur das Event LeftMouseButtonUp in der FormCaption um eine programminterne Proc auszuführen. Windows-Funktionalitäten sollen hier NICHT verändert oder ergänzt werden.
procedure TForm4.WMNCLeftButtonDown(var Message:TMessage);
begin Message.Msg:=0; end; |
Re: WM_NCLButtonUp
Hallo Chris,
ein VCL-Phänomen?! Könnte es daran liegen, dass ich DelphiSpeedUp installiert habe?! Hm, sollte ich mal deinstallieren und dann noch mal probieren... |
Re: WM_NCLButtonUp
Moin pstruh,
Zitat:
Wie gesagt, bei maximiertem Fenster funktioniert es, wie gewünscht. |
Re: WM_NCLButtonUp
Neee, ohne DelphiSpeedUp geht's auch nicht :cry: Vielleicht ist WM_NCHitTest 'ne alternative?
|
Re: WM_NCLButtonUp
Arggggggggg, nein ist natürlich keine Alternative, die Message ertönt ja schon, wenn der Cursor nur über die Caption bewegt wird. Schit!
|
Re: WM_NCLButtonUp
Moin pstruh,
aber da könntest Du dann mit GetAsyncKeystate die Maustaste abfragen, und entsprechend reagieren. |
Re: WM_NCLButtonUp
Hihihi, habe Alternative gefunden: WM_WindowPosChanged Ist auch gleich ein Leerbeispiel für "mein" inherited. Ohne "inherited" haben alle Forms eine identische (von wem auch immer definiert?) Breite. Die Message gibts zwar schon für jedes Form 1x bevor der Anwender das es zu Gesicht bekommt - aber das ist in meinem Fall nicht kritisch. Vielen Dank für die Antworten und Gute Nacht - Dobru noc!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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