Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Messages weiterleiten (https://www.delphipraxis.net/20036-messages-weiterleiten.html)

Mithotyn 12. Apr 2004 21:23


Messages weiterleiten
 
Hallo Forum !!

Ich suche eine Möglichkeit eine "transparente" Form zu schaffen. Transparent in dem Sinne, dass alle MouseMessages die in meiner Anwendung auftreten an das darunterliegende Fenster weitergeleitet werden.

Also die Messages mit ner Methode abfangen, und mit SendMessage weiterleiten dachte ich.

( Um es einfacher zu machen. Das darunterliegende Fenster ist immer der Desktop. )

Gruß Joachim

fkerber 12. Apr 2004 23:20

Re: Messages weiterleiten
 
HI!

Willst du die Messages auch in deinem Programm haben oder reicht es dir, wenn dein Programm "durchklickbar" ist.
Falls ja, such mal in der DP. Das hatten wir schon mal.

Ciao fkerber

Mithotyn 13. Apr 2004 08:27

Re: Messages weiterleiten
 
Hi fkerber !!

Also ich hab jetzt nochmal gesucht aber immernoch nichts passendes gefunden.

Meine Form an sich ist ja schon durchklickbar. Ich hab transparent auf true gesetzt.
Aber auf der Form ist ein Label drauf. Mit diesem Label will ich auf dem Desktop einen Status von einem
Rechner anzeigen ("online" oder "offline").

Nur ist halt das Label noch anklickbar. Und das soll es auch nicht. Ich will also wenn einer auf das Label klickt, dass diese Message an das darunterliegende Fenster weitergeleitet wird.
Am deutlichsten wird es, wenn ich ein Icon vom Desktop Drage und über das Label ziehe. Da kommt dann das Nicht-Ablegen-Symbol. Es soll aber so funktionieren, dass ich das Icon quasi hinter dem Label droppen kann. Also als ob meine Form garnicht da wäre.

Da meine Form nur diese eine statische Label hat, können der einfachheit halber einfach alle Messages weitergegeben werden können. Ich brauche sie in meinem Programm nicht.

Gruß Joachim

shmia 13. Apr 2004 08:42

Re: Messages weiterleiten
 
Zitat:

Zitat von Mithotyn
...dass alle MouseMessages die in meiner Anwendung auftreten an das darunterliegende Fenster weitergeleitet werden.
Also die Messages mit ner Methode abfangen, und mit SendMessage weiterleiten dachte ich.

Dann solltest du die Methode WinProc deines Formulars überschreiben:
Delphi-Quellcode:
procedure TMyTransparentForm.WndProc(var Message: TMessage);
begin
   case Message.Msg of
      // bestimmte Messages vom Formular behandeln lassen
      // welche dies sind, musst du selbst rausfinden
      WM_DRAWITEM, WM_MEASUREITEM:
      begin
         inherited WndProc(Message);
         Exit;
      end;
   else
      begin
         // der Rest an das "unterliegende" Fenster weitergeben
         Message.Result := SendMessage(xxHandle, Message.Msg, Message.Wparam, Message.LParam);
      end;
   end;
end;

me2u 30. Okt 2006 19:31

Re: Messages weiterleiten
 
Oder siehe hier: http://www.delphipraxis.net/internal...ct.php?t=21986


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 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