Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  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
Autor Thema:  Neuzeichen bei nicht modalem Dialog (1006 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

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