Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Zoomen während Dialog geöffnet

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:  Zoomen während Dialog geöffnet (725 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 29. Feb. 2016 15:19    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

Moin !

ich habe eine Funktion in welcher ein Dialog geöffnet ist und dann sollte über eine Schalffläche ein Bereich aufgezoomt werden. Da passiert nichts. Erst wenn der Dialog geschlossen war wurde der Zoom-Vorgang nachgeführt.

Dann habe ich mir überlegt über ein Schleife den Dialog zu schließen, den Zoom-Befehl auszuführen und dann den Dialog wieder einzublenden. Aber auch da wurde das Zoomen erst nachgeführt, wenn der Dialog gänzlich geschlossen war.

Hier ein Auszug aus dem letzten "Versuch":

Code:

...
                Dim f As New frm_ControlActiveCover
                f.lbl_NewCover.Text = "Sie wollen einen Haupt-Schachtdeckel definieren!"
                f.lbl_OldCover.Text = "Der Deckel (FID: " & FID_OtherActiveCover.ToString & ") ist bereits Haupt-Schachtdeckel!"
                f.lbl_Frage.Text = "Wollen Sie den Status übertragen werden?"
                f.bt_zoom.Enabled = False

                Dim Dr As New Windows.Forms.DialogResult

                Do

                    Dr = f.ShowDialog()

                    If Dr = Windows.Forms.DialogResult.Yes Then
                        Dim Miscellaneous As New EBL.MapService.Miscellaneous(Me.Document)
                        Miscellaneous.ZOOM(FID_OtherActiveCover, k_AppName_SetActiveCover)
                    End If

                Loop Until Dr = Windows.Forms.DialogResult.Cancel Or Dr = Windows.Forms.DialogResult.OK

                f.Dispose()

                If Dr = Windows.Forms.DialogResult.Cancel Then
                    Exit Sub
                End If


                ' dem anderen Deckel den Status entziehen
                Feature_OtherActiveCover = connKANAL.FeatureClasses("WW_Cover").GetFeature(FID_OtherActiveCover)
...


Hat einer von Euch eine Idee warum nicht und wie die Lösung wäre ?

Gruß Jan

------------------
jan :-)

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2014
Plateia, Canalis
Visual Basic

erstellt am: 29. Feb. 2016 19:12    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 tappenbeck 10 Unities + Antwort hilfreich

Hallo Jan,
Unter .net bin ich leider noch nicht soweit aber unter VBA hatte mich das auch schon zur Verzweiflung gebracht.
Ich hatte ein Startformular zur Auswahl der Funktionen (Form1), dieses wurde beendet (Hide) und rief ein weiteres Formular (Form8) auf.
Solange dieses aktiv war konnte kein Zoom durchgeführt werden.
Lösung im Form1 Code sah dann so aus:
Code:

Private Sub cmdProfEdit_Click()
 
  'Neue Zeichnung öffnen zur Darstellung
  Load UserForm8
  UserForm1.Hide
  If Not strMDBDatei = "" Then  ' Kontrolle ob auch Datenbank gewählt wurde
Userform8_Show:
    UserForm8.show vbModal  ' für Auswahl / Zoom muß dieses beendet werden
    If UserForm8.Get_AutoCAD = True Then ' dieser Booleanwert steuert dass Autocad von dem
                                        ' beendeten Form8 (.hide) aufgerufen wird
                                        ' und in das Fenster zurückkehren soll
      Call UserForm8.ProfilEd_Autocad ' in dieser Procedur kann ein Text oder Linienendpunkt ausgewählt
                                      ' und beliebig gezoomt werden
      GoTo Userform8_Show ' Rücksprung ins Datenbankfenster
    Else
      Unload UserForm8 ' Ende Datenbankabfrage
    End If
  End If
  UserForm1.show
End Sub


Ein direktes Ausführen im Code des Form8 war nicht möglich
Vielleicht eine Anregung ...

Grüße
Klaus 

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

Stelli1
Ehrenmitglied
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 2-2014
VS6, VS.net 2010

erstellt am: 29. Feb. 2016 23:06    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 tappenbeck 10 Unities + Antwort hilfreich

Hallo Jan,

kann ich so nicht nachvollziehen. Wenn du aus dem Document heraus ein Formular aufmachst geht's in AutoCAD weiter.
z.B.

Code:
            Dim Features As Autodesk.Map.IM.Data.FeatureList

            Features = Me.Document.Connection.FeatureClasses.Item(GeoTabName).GetFeatures(True, LinkField & "=" & FID)

            AutoZoom = True
            Me.Dialog.Document.Map.HighlightFeatures(Features, Autodesk.Map.IM.Map.MapLogic.HighlightModes.Flash, AutoZoom)



Ich vermute mal das die Abfrage des Dialogergebnisses das Formular Modal macht.
Code:
If Dr = Windows.Forms.DialogResult.Yes Then

Geht das nicht anders?

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 01. Mrz. 2016 07:42    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 tappenbeck 10 Unities + Antwort hilfreich

... warum nimmst du für einen mit dem Zeichnungseditor interaktiv zu bedienenden Dialog kein Panel?

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 01. Mrz. 2016 10:01    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

Moin!

danke für die Hinweise. Leider konnte ich mit dem Klaus noch nicht den richtigen Weg finden.

@Wilfried: aus "Me.Dialog" entnehme ich das Du direkt aus der Maske der TB die Funktion aufrufen willst. Dann kann ich mir auch vorstellen das es funktioniert (Codezeile wandert gleich in unser Wiki) - aber ich arbeite ja mit einem anderen Dialog.

Gruß Jan

------------------
jan :-)

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

Stelli1
Ehrenmitglied
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 2-2014
VS6, VS.net 2010

erstellt am: 01. Mrz. 2016 19: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 tappenbeck 10 Unities + Antwort hilfreich

Hallo Jan,

nö nicht unbedingt. Ich hatte nichts anderes zum Kopieren greifbar.
Du brauchst nur das DOCUMENT Objekt.

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

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 02. Mrz. 2016 07:06    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

Moin!

werde ich die Tage nochmal ausprobieren.

Gruß Jan

------------------
jan :-)

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