Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Reaktion auf Mausklick / Tastatureingabe?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Reaktion auf Mausklick / Tastatureingabe? (2872 mal gelesen)
snoopyonline
Mitglied
Architekt


Sehen Sie sich das Profil von snoopyonline an!   Senden Sie eine Private Message an snoopyonline  Schreiben Sie einen Gästebucheintrag für snoopyonline

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 12. Dez. 2012 10:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe vor kurzem mit ein paar kleinen VBA-Hilfstools angefangen. Ist das eigentlich "normal", dass bei der Verwendung von Userforms, Commandbuttons, Listboxen etc. eine "verzögerte" Reaktion auf Mausklicks erfolgt (also 7 mal Klicken notwendig ist, bevor Dinge dann tatsächlich ausgeführt werden) und Tastatureingaben in Textboxen eigentlich komplett ignoriert werden? Liegt das an Windows7? Kann ich irgendetwas dagegen tun? Oder sollte ich VBA gleich vergessen und mich mit VBA.NET herumplagen?

Fragen über Fragen, aber vielleicht könnt ihr mir ja weiterhelfen...

Schöne Grüße,
Sebastian

------------------
http://www.sebastian-schild.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 12. Dez. 2012 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von snoopyonline:
Ist das eigentlich "normal", dass bei der Verwendung von Userforms, Commandbuttons, Listboxen etc. eine "verzögerte" Reaktion auf Mausklicks erfolgt

Nein, das ist absolut nicht normal.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 12. Dez. 2012 12:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von snoopyonline:
Oder sollte ich VBA gleich vergessen und mich mit VBA.NET herumplagen?

Hm. Gute Frage.
VBA gilt seit eineigen versionen als Totgesagt. Muss seit einiger Zeit sogar explizit nachinstalliert werden.

Ich habe mich von VBA verabschiedet, das hat aber den Grund, dass VBA ineiner 32bit Umgebung läuft. Das hat bei mir Probleme in einem 64bit Autocad verursacht.

Aber egal. Totgewehte leben oftmals länger, als man vermutet.
VB.NET ist durchaus empfehlenswert, jedoch bei weitem nicht so 'einfach' wie VBA.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 12. Dez. 2012 19:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Hallo Sebastian,

habe im Moment leider kein VBA zur Verfügung.
Es liegt wahrscheinlic daran, ähnlich wie im anderen Beitrag, dass dein Fenster in diesem Fall nicht modal geöffnet ist. Dann hat AutoCAD die "Aufsicht" über das Programm und du kannst nichts eingeben. Wenn du es Modal aufrufst scheint es mit Autocad 64 bit wohl timeing Probleme zu geben.

Es gibt aber ein Control (ich kann es leider gerade nicht nachschauen wie es heisst) das man in die Form ziehen kann um den Fokus in der Form zu erhalten.

Dann sollte es gehen.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snoopyonline
Mitglied
Architekt


Sehen Sie sich das Profil von snoopyonline an!   Senden Sie eine Private Message an snoopyonline  Schreiben Sie einen Gästebucheintrag für snoopyonline

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 13. Dez. 2012 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Wilfried,

es klingt so, als ob du zumindest auf einer ganz heißen Fährte unterwegs bist ;-) Das Verhalten vom Userform sieht wirklich nach einem Timing- / Focusproblem unter Windows7 aus.
Ich habe testeshalber mal die Showmodal-Eigenschaft des Fensters auf False gesetzt (war True). Dies hatte zur Folge, dass die getätigten Tastatureingaben in der AutoCAD-Befehlszeile gelandet sind. Ansonsten aber keine Veränderung/Verbesserung.

Von der (bescheidenen) Auswahl an Steuerlementen habe ich einfach mal alle im Userform verwendet - hat leider auch nichts verändert.

Schöne Grüße,
Sebastian

------------------
http://www.sebastian-schild.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 13. Dez. 2012 11:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

jetztz habe ich mir mal VBA nachinstalliert. (AC2012 auf Win7 64bit)

EIn sehr merkwürdiges verhalten. Das Formular verliert dauernd den Fokus.
Damit muss man einen Button 2x drücken. das erste Mal, damit das Form den Fokus hat, und erst der 2. Click reagiert richtig. Nach dem Click verliert das Form sofort wieder den Fokus.

Textboxeingabe ist so gut wie überhaupt nicht möglich.

[Diese Nachricht wurde von fuchsi am 13. Dez. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ivb.hst
Mitglied
Programmierer


Sehen Sie sich das Profil von ivb.hst an!   Senden Sie eine Private Message an ivb.hst  Schreiben Sie einen Gästebucheintrag für ivb.hst

Beiträge: 15
Registriert: 11.10.2010

AutoCAD 2007-2013 32/64bit
Windows 7 Ultimate 64Bit
Inter(R) Core(TM) i5-2500K 3.3 GHz

erstellt am: 13. Dez. 2012 11:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Das ist bei nicht modalen Dialogen generell so in AutoCAD. Egal ob Dialog oder Palette, AutoCAD übernimmt automatisch den Focus. Damit auch nicht modale Dialog den Fokus behalten, sendet AutoCAD die Meldung  WM_ACAD_KEEPFOCUS (WM_USER+0x6D01), bevor der Focus übernommen wird. Fängt man diese Meldung ab und gibt als Ergebnis der Anfrage TRUE (Standardrückgabe FALSE) zurück, behält der Dialog den Focus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 13. Dez. 2012 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

das ist auch beim modalen Dialog unter Win7 64bit so.

Nicht nur die Form, sondern die ganze AcadApplikation verliert den Focus!!!!!!

Wenn ich mit Alt-Tab Autocad wider aktiviere, hat somit auch die userform den Focus.

EIndeutig ein BUG


findet man auch im Netz, dass darüber disskutiert wird

http://www.cadtutor.net/forum/showthread.php?65966-VBA-on-AutoCAD-2012-64-bit

[Diese Nachricht wurde von fuchsi am 13. Dez. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snoopyonline
Mitglied
Architekt


Sehen Sie sich das Profil von snoopyonline an!   Senden Sie eine Private Message an snoopyonline  Schreiben Sie einen Gästebucheintrag für snoopyonline

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 13. Dez. 2012 15:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@ivb.hst:

Ich habe sowohl die VBA-Hilfe als auch Google befragt aber nichts hilfreiches gefunden: Wie kann ich Messages abfangen und behandeln?  Hast du vielleicht ein entsprechendes Code-Schnipselchen?

Grüße,
Sebastian

------------------
http://www.sebastian-schild.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 13. Dez. 2012 16:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

http://forums.autodesk.com/t5/Visual-Basic-Customization/AutoCAD-2012-and-VBA-Text-not-appearing-in-textbox/td-p/3398609


wenn Du in der Werkzeugsammlung die rechte Maustaste clickst -> Mehr -> kannst Duu das acFocusControl aktivieren.

Allerdings bekomme ich beim Einfügen noch die Meldung "Klasse nicht registriert"

Aber das Problem dürfte bekannt sein....

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 13. Dez. 2012 16:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Zitat:
Allerdings bekomme ich beim Einfügen noch die Meldung "Klasse nicht registriert"

Ich lese gerade, dass das bei AC2012 mit dem  ServicePack behoben sein soll..

Bin wohl etwas schlampig mit der Aktualisierung auf meinen Textmaschinen. 

[Diese Nachricht wurde von fuchsi am 13. Dez. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snoopyonline
Mitglied
Architekt


Sehen Sie sich das Profil von snoopyonline an!   Senden Sie eine Private Message an snoopyonline  Schreiben Sie einen Gästebucheintrag für snoopyonline

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 13. Dez. 2012 17:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@fuchsi:

Ja wunderbar! Das funktioniert ja alles richtig klasse mit dem acFocusControl. Jetzt bin ich wieder ein ganzes Stück weiter/schlauer...

Vielleicht kann mir ja noch jemand weiterhelfen, wie/wo ich die mit dem Control verbundene Sicherheitsfrage von AutoCAD unterbinden kann, ob ich dem verwendeten ActiveX Control vertraue. Aber mit diesem "Makel" könnte ich notfalls leben...

10U's für alle Beteiligten...

Schöne Grüße, Sebastian

------------------
http://www.sebastian-schild.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 13. Dez. 2012 19:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

vertraut Autodesk seinem eigenen Controll nicht? 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 14. Dez. 2012 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

http://www.office-loesung.de/ftopic229809_0_0_asc.php

[HKEY_CURRENT_USER\Software\Microsoft\VBA\Security]
"LoadControlsInForms"=dword:00000001

Der Schlüssel Security muss neu angelegt werden.
Darin das DWord  LoadControlsInForms anlegen und auf Wert 1 setzten.


getestet, und funktioniert.

[Diese Nachricht wurde von fuchsi am 14. Dez. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snoopyonline
Mitglied
Architekt


Sehen Sie sich das Profil von snoopyonline an!   Senden Sie eine Private Message an snoopyonline  Schreiben Sie einen Gästebucheintrag für snoopyonline

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 14. Dez. 2012 09:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

...bei mir auch!!!!

Vielen Dank für die super Unterstützung.

Schöne Grüße,
Sebastian

------------------
http://www.sebastian-schild.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Projektleiter SHK Sanitär- und Heizungstechnik TGA Techniker*in / technischer Zeichner*in (Anlagenmechaniker SHK)

Wir sind ein mittelständischer Familienbetrieb mit Firmensitz in 64683 Einhausen.

1958 gegründet, führen wir den Betrieb aktuell in der 3. Generation

und unsere Belegschaft umfasst inzwischen mehr als 40 Mitarbeiter.

Unsere Leistungen umfassen die Sanitär-, Heizungs- und Lüftungstechnik.

Die Geschäftstätigkeit liegt mit Schwerpunkt in der Ausführung

von Großprojekten wie im Wohnungs- oder Gewerbebau....

Anzeige ansehenLeitung, Teamleitung
fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 14. Dez. 2012 09:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snoopyonline 10 Unities + Antwort hilfreich

Für mich ist das nun eindeutigst die endgültige Entscheidung, VBA sterben zu lassen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz