| |
VB.NET - Ein- und UmsteigerWndProc Message | | | Autor: raiserle | Datum: 16.03.11 22:03 |
| Hi,
ich stehe vor einem Problem mit dem abfangen/abfragen der Nachrichten an die Fensterle;).
Laut Docu, wird die Nachricht ja an das (jesdes) Form gesendet. Dort kann man mittels
Private Overrides Sub WndProc (.........) die Nachrichten auswerten. Klapp ja auch, wenn ich dieses Konstrukt in die Klasse des Apps lege.
Nun ist es so, dass ich eine dll erstellt habe, Diese kann in einer Anwendung eigebunden werden, um dort per Constructor ein Panel (mit weiteren Steuerelementen) in
a) einer Form
b) einem Panel
zu docken. Nun bekomme ich die Nachrichten nicht in meiner dll abgefangen, weil ich die
Protected Overrides Sub WndProc(ByRef m As Windows.Forms.Message) dort nicht einfügen kann. Zumindest nicht so.
Ich habe in der dll nur Zugriff auf das per ByRef übergebene Steuerelement worin halt alles dargestellt werden soll.
Wie kann ich nun bewerstellingen, dass ich die WindowsNachrichten auch in meiner DLL zur Verfügung habe. Ist ja kein Window vorhanden, sondern nen Steuerelement, was in einer anderen App eingehangen wird.
Fehlerausgabe in der dll
sub "WndProc" kann nicht als "Overrides" deklariert werden, da es sub in Basis class nicht überschreibt.
vG raiserle | |
Re: WndProc Message | | | Autor: FZelle (Moderator) | Datum: 16.03.11 22:32 |
| Wozu meinst du das zu brauchen?
Aber evtl hilft dir auch http://msdn.microsoft.com/de-de/library/system.windows.forms.application.addmessagefilter.aspx | |
Re: WndProc Message | | | Autor: Preisser | Datum: 16.03.11 22:35 |
| Hallo,
naja, du sagst ja selbst, Nachrichten werden an Fenster geschickt, aber (soweit ich weiß) nicht an einzelne Steuerelemente. Deswegen hat auch nur die Form-Klasse (bzw. ihre Oberklassen) diese Methode, welche man dann überschreiben kann.
Wenn du in einem Steuerelement solche Nachrichten verarbeiten willst, wird das wohl nur so gehen, dass du in deinem Steuerelement eine ähnliche Methode einbaust, die dann in der entsprechenden Form in ihrer WndProc-Methode heraus aufgerufen wird, sodass die Nachrichten von dort an dein Control weitergeleitet werden.
Edit: FZelle war schneller.
Beitrag wurde zuletzt am 16.03.11 um 22:35:43 editiert. | |
Re: WndProc Message | | | Autor: raiserle | Datum: 16.03.11 22:55 |
| Hi FZelle,
danke dir für die schnelle Antwort. Leider passiert da nix. Also ich kann werder die Msg abfangen, noch anderweitig darauf reagieren.
Zur Frage:
Kennst du WinCC? Also dort soll es so sein, dass wir die Anweder einsperren (wie KioskMode).
Nun habe ich einen kleinen Explorer gebastelt - angelehnt an die Funktionalität wie Total Commander.
Leider kann ich auf die Ereignisse, UBS-Device (u)mount nicht reagieren, weil ich ja die Info nicht in mein Programm (dll) bekomme. Ansatz wäre, dass ich das Fensterhandel als Referenz bekomme. Aber das kann ich nicht verlangen. Zumindest würde es dazu einigen Diskusionsstoff geben.
Oder gibt es da noch weitere Möglichkeiten?
Kurzum, ich muss auf WinMsgs in der dll reagieren können.
vG
Edit:
@Preisser
Ich kann in der App - die aufruft - nichts Proggen ;) Siehe Oben (WinCC).
Hm... Hab mir ja auch schon mehrere Stunden den Kopf zerbrochen und gesucht. Aber ich denke - das man dann wohl auf den Luxus - autom.USB.(u)mount verzichten muss. (MIST)
Beitrag wurde zuletzt am 16.03.11 um 23:01:46 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|