Wer kriegt meine Events?

08/11/2011 - 16:47 von rokas | Report spam
Ich wollte schlau sein und das Usercontrol einer freien Form (frmA) mittels
SetParent (zeitweise) in die Hauptform (frmMAIN) einblenden. Das
funktioniert auch sehr gut, ich kann das Usercontrol tatsàchlich hin- und
herschieben. Nach dem Programmstart werden frmMAIN und die frmA geladen, das
Control in die frmMAIN geholt und die frmA unsichtbar gemacht, und alles
funktioniert wie erwartet.

Allerdings stelle ich jetzt erst fest, daß z.B. nach einem vom Usercontrol
veranlasstem InputBox (oder auch wenn ich das Control wieder zurück in seine
frmA bewege und erneut heraushole) im Key_Down-Event des Usercontrols
(genaugenommen einer PictureBox, welche das UserControl ausfüllt) nur noch
wenige Taste durchkommen, komischwerweise aber nicht gar keine mehr, z.B.
ESC, INSERT, HOME, END, aber z.B. nicht die Cursortasten links, rechts,
hoch, tief und auch nicht die Buchstaben.

Wieso aber nur manche? Auch in den darüberliegenden Einheiten der
PictureBox, also UserControl und Forms, kommt nix an. KeyPreview àndert
übrigens nichts, und jetzt bin ich mit meinem Latein am Ende.

Was mich wundert, daß es a) nach dem ersten Verlagern von frmA nach frmMAIN
noch tadellos funktioniert und auch, wenn das UserControl in seiner frmA
liegt und diese angezeigt wird. In beiden Fàllen kriegt die PictureBox alle
Tasten mit, nur eben on o.g. Fàllen nicht. Ich könnt auch verstehen, daß das
UserControl gar keine asten mitkriegt, aber nicht, daß welche kommen und
welche nicht.

Weiß jemand Rat, oder gibt es eine andere Möglichkeit, ein UserControl bzw.
eine Benutzerinteraktionsflàche wie die PictureBox alternativ in zwei Formen
anzuzeigen?

Vielen Dank.

rokas

p.s.:
Ich bin neu hier in de.comp.lang.vbclassic - wie kriege ich denn mit meinem
Windows Mail alle 2881 Nachrichten fieser Group geladen - bei mir kommen nur
geschàtzt wenige hundert.
 

Lesen sie die antworten

#1 W. Wolf
08/11/2011 - 19:55 | Warnen spam
"rokas" schrieb im Newsbeitrag
news:j9biuf$ta0$
Ich wollte schlau sein und das Usercontrol einer freien Form (frmA)
mittels SetParent (zeitweise) in die Hauptform (frmMAIN) einblenden. Das
funktioniert auch sehr gut, ich kann das Usercontrol tatsàchlich hin- und
herschieben. Nach dem Programmstart werden frmMAIN und die frmA geladen,
das Control in die frmMAIN geholt und die frmA unsichtbar gemacht, und
alles funktioniert wie erwartet.




SetParent ist mir wohl bekannt und auch die damit verbundenen Probleme
mit dem Focus und den Key-Events. Trotzdem war SetParent in Zeiten von
VB5 für mich unverzichtbar. Seit VB6 und LoadControl ist das nicht mehr so.
Deshalb hier zuerst eine Frage: Was hàltst Du von der Alternative auf den
beiden Formen das UC jeweils neu zu instanzieren und nur die Daten zwischen
den beiden Controls zu synchronisieren? Das ist Anfangs eine etwas
aufwendige
Sache, wird Dich aber mit mehr Stabilitàt belohnen.

[...]


Ich bin neu hier in de.comp.lang.vbclassic - wie kriege ich denn mit
meinem Windows Mail alle 2881 Nachrichten fieser Group geladen - bei mir
kommen nur geschàtzt wenige hundert.



Verwende auf meinem XP Outlook Express und unter W7 Thunderbird
für diese NG. Kenne hier damit keine Probleme nicht.

Schönen Gruß
W. Wolf

Ähnliche fragen