![]() |
Re: Control in eine fremde Anwendung bringen???
Zitat:
mfG mirage228 |
Re: Control in eine fremde Anwendung bringen???
Es war ein anderer Messenger. Aber das tut nichts zum Thema. Ich wollte nur zeigen, dass man mit Hooks sehr vorsichtig sein sollte, da es ein nicht gerader oberflächlicher Eingriff in das System bedeutet.
|
Re: Control in eine fremde Anwendung bringen???
Hallo,
Zitat:
|
Re: Control in eine fremde Anwendung bringen???
Zitat:
Wenn nicht, hast Du auch die Windows-API von SetParent und nicht die Delphi-Eigene benutzt? Also damit war's bei mir kein Problem. Hilft übrigens auch um nervige Werbebanner oder Popups in einen Panel gefangen zu halten.
Delphi-Quellcode:
HWND SetParent(
HWND hWndChild, // handle of window whose parent is changing HWND hWndNewParent // handle of new parent window );
Delphi-Quellcode:
procedure SetParent(AParent: TWinControl); virtual;?
Zitat:
Stimmt das Preis-Leistungs-Verhältnis würde ich auch die Werbung "wegkaufen" und somit die Programmier, Tester, Vertreiber, und die sonst noch dazu gehören, unterstützen. Zitat:
'von vielen genutzt' * angemessener Preis = ein Haufen Kohle für 'ein Haufen Unkosten'[/b] z.B. Opera für 34,00€ bzw. 22,99€ - find ich fair |
Re: Control in eine fremde Anwendung bringen???
Zitat:
Kann man vieleicht "einfach" nur global Mausbotschaften abfangen? Dann prüfen ob es das Fenster, auf dem der Banner liegt, den Focus hat, die Mauskoordinaten zur Position des Panels passen und dann, wenn alles passt, irgendwas tun (so viele Kommas in einem Satz, wenn eins falsch ist - Neue Retschreibung :mrgreen: ). |
Re: Control in eine fremde Anwendung bringen???
Ja, das geht - entweder über Hooks oder du fragst alle 10 Millisekunden den Mausstatus über GetAsyncKeyState ab.
Möglichkeit Nr. 1 ist ziemlich kompliziert und wie gesagt eine Systembremse, Möglichkeit 2 kannst du gleich vergessen weil es den Computer ziemlich auslastet. |
Re: Control in eine fremde Anwendung bringen???
Liste der Anhänge anzeigen (Anzahl: 1)
Hey, hier noch ein Lösungsvorschlag ohne Hooks und ohne Timer dafür aber mit Botschaftenbehandlung.
Warum nur ein Control in das fremde Fenster umschieben und nicht gleich das ganze Formular. Wenn ich das Handle des eigenen Fensters auf das des anderen Fensters setze ist es ein "Kind" dessen (im Vordergrund) und erhält z.B. Klick-Botschaften auf die es reagieren kann. siehe Screenshot... |
Re: Control in eine fremde Anwendung bringen???
Hallo,
ansich eigentlich praktisch und gar nicht schlecht. Nur muß man vieleicht bei manchen Programmen dann Fenster immer umschieben um die verschiedenen Schaltflächen etc. zu erreichen. Dem wollte ich eigentlich vorbeugen, indem das entsprechende Control irgendwo fest platziert wird. Das Control soll deshalb seine eigene Ereignisbehandlungsroutinen bekommen. |
Re: Control in eine fremde Anwendung bringen???
Na Du kannst das Fenster doch in dem anderen Fenster genau so fest platzieren wie jedes andere Control. Du kannst doch Größe u. Position Deines Fensters so anpassen das es nichts verdeckt und niemanden stört. Dann änderst Du die Eigenschaft BorderStyle auf bsNone und schon sieht's aus wie n' fester Panel. :wink:
Und das Control hat seine eigene Ereignisbehandlungsroutinen!? Hast Du Dir den Screenshot angesehen? Wenn man da auf das Image klickt passiert was. Genau so kannst Du auf Botschaften (Veränderungen) des Fensters reagieren. |
Re: Control in eine fremde Anwendung bringen???
Kann man auch Controls von anderen Anwendungen von denen man das Handle hat "verschieben" ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 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