vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
WndProc 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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: WndProc Message 
Autor: ModeratorFZelle (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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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