Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD ObjectARX und .NET
  Neuzeichen bei nicht modalem Dialog

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
  
PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
Autor Thema:  Neuzeichen bei nicht modalem Dialog (1071 mal gelesen)
Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 13. Sep. 2010 13:20    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,
es geht um Windows-Programmierung (MFC) in c++:

Ein "nicht modaler Dialog" wird gestartet - dann wählt der Anwender aus einer Liste etwas aus und abhängig davon sollen Objekte in der Zeichnung hinzugefügt werden. Das funktioniert auch soweit, allerdings nicht der anschliessende ZOOM-Befehl:

acedCommand (RTSTR, L"_zoom", RTSTR, L"_w", RTSTR, Koordinate1, RTSTR, Koordinate2, RTNONE);


Nur bei einem "modalen Dialog" gelingt es komplett; dort erzwinge ich das Neuzeichnen aus dem offenen Dialog heraus mit folgenden Befehlen:

BringWindowToTop();
SetForegroundWindow();
ShowWindow(SW_HIDE);
ShowWindow(SW_SHOW); 

Was aber kann ich machen bei "nicht modalem Dialog"?

Viele Grüße Josefus

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


Ex-Mitglied

erstellt am: 13. Sep. 2010 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

siehst Du den Befehl in der Befehlszeile?

- alfred -

------------------
www.hollaus.at

Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 14. Sep. 2010 17:08    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 alfred,
guter Hinweis!

bei modalem Dialog erscheint der Befehl in der Befehlszeile -
bei nicht modalem Dialog eben nicht!

Bedeutet das, ich muss mir auf irgendeine Art den "handle" des AutoCAD-Fensters besorgen?
Oder gibt es ein bestimmtes Vorgehen?

- Josefus -

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


Ex-Mitglied

erstellt am: 14. Sep. 2010 17:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

zwei Ideen (gleich vorweg, nichts davon jetzt probiert):

a) setze zuerst den Focus auf das AutoCAD-Fenster
b) da ZOOM sowieso irre langsam ist, häng Dich auf das COM-Objekt (da brauchst Du kein Command), ist zwar absolut unschön, dafür aber sicher! 

- alfred -

------------------
www.hollaus.at



Anzeige:Infos zum Werbeplatz >>

Layer-Manager CAD APP für Allgemeine Werkzeuge, Datenaustausch, Andere

Der Layer-Manager bringt Ordnung in das Layer-Chaos. Mit dem Layer-Manager können Sie Layer in einer hirarchischen Struktur verwalten und sortieren. Diese wird über den Namen des Layers abgebildet und im Layer-Manager entsprechend gekürzt. Das Ideale Werkzeug, wenn man mit vielen Layern arbeitet.

Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 15. Sep. 2010 16:58    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,

der Lösungshinweis war richtig!
Ich habe dem ZOOM-Befehl ersetzt durch "Rückbesinnung" auf die Klasse:

AcDbViewTableRecord* und deren Methoden

setCenterPoint(...);
setWidth(...);
setHeight(...);
setViewDirection();

Falls jemand die ganze Routine braucht, kann ich die auch gerne ganz abdrucken.

Vielen Dank an Alfred und diesem Forum!
Josefus

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)2025 CAD.de | Impressum | Datenschutz