[VB] Im VS05-Makro einen Dialog erzeugen

lukasS

Erfahrenes Mitglied
Hallo,

ich schreibe z. Z. paar kleine Makros für das Visual Studio. Nun bräuchte ich in einem Makro ein Dialog, leider wird nur der Rahmen angezeigt, irgendwie mache ich da was falsch. Hier der code:
Code:
      Dim uf As System.Windows.Forms.Form
      uf = New System.Windows.Forms.Form
 
      uf.Width = 250
      uf.Height = 300
      uf.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
      uf.Show()
Hat jemand eine Idee wie ich einen Dialog im Makro erzeugen kann?

Danke schonmal

Lukas

PS: Bin ein Makroanfänger, mit VB habe ich schon einiges zu tun gehabt.
 
Was genau willst du denn erreichen. Denn du instanzierst eine neue default Windows-Form und zeigst diese an. Da ist ja keine Funktionalität etc. drauf. Kein Wunder, dass er dir nur den Rahmen zeigt.
 
Hallo, danke für die Antwort!

Ich bräuchte ein Makro, der einen Dialog anzeigt, wo der Benutzer dort einige Daten hineinschreiben kann. Der Input-Dialog ist dafür nicht geeignet. Ich wollte dort noch einige Textfelder einbauen und 2 Buttons.

Den gleichen Code habe ich auch immer in meinen VB-Projekten benutzt und es hat immer funktioniert. Aber im Makro ist das doch irgendwie anders.

Danke nochmal!

Gruß

Lukas
 
Klar, du brauchst natürlich eine Form mit den entsprechenden Feldern drauf. Ich denke, dass du eigentlich ein Add-In machen willst, dass eine Aufgabe für dich erledigt.

Nähere Informationen kann ich dir geben, wenn ich weiß, was genau der Sinn der Aktion ist.
 
Also, ich wollte ein Makro für z. B. das Erstellen von Funktionen machen, man gibt das Datum, Funktionsnamen, Parameter, Rückgabewert usw. ein und das Makro erledigt dann alles selbst. So ähnlich, als ob man eine Funktion über das Visual Studio machen würde. Nur diese Funktionalitäten des VSs können wir nicht benutzen, da dies nur mit Klassen funktioniert, leider arbeiten wir nicht mit Klassen, sondern sogar noch öfter nur mit C.
Zudem haben wir noch unsere eigenen Kommentare, Dateiköpfe mit Include's usw. Es sind also einige Makros, die einen Dialog bräuchten.

Was ist ein Add-In? :) Wie ist der Unterschied zum Makro?

Danke schonmal!

Lukas
 
Ich gehe davon aus, dass du nicht C, sonder C++ meinst. Und da gibt es diese Funktionalität. Einfach auf die ClassView gehen, rechte Maustaste auf eine Klasse und dort hast du die Möglichkeiten "Add Function", "Add Member" etc.

Wenn du das für andere Sprachen auch so in der Form haben willst, dann musst du ein Visual Studio Add-In bauen. Hierbei handelt es sich um eine ActiveX Komponente (kann auch mit .NET gebaut werden, wrappt aber einen ActiveX Container) die das Visual Studio um bestimmte Funktionalitäten (eben Dialoge, Automatisierungen etc.) erweitert.
 
Wir entwicklen noch zum Teil in C :) , aber auch in C++, VB und C#. Das liegt aber an der Partnerfirma, wie dem aus sei. Das mit dem ClassView weiß ich, aber das ist nur in C++, nicht wenn man keine Klassen hat.

Bei den Makros kann man noch zwischen den Sprachen unterscheiden, also:

Code:
If DTE.ActiveDocument.Language = EnvDTE.Constants.dsCPP Or DTE.ActiveDocument.Language = "CSharp" Then
...
ElseIf (DTE.ActiveDocument.Language = "Basic") Then
...
End If

Müsste ich für jede Sprache ein eigenes Add-In erstellen? Ist das in einem Makro gar nicht möglich, das was ich vorhaben wollte?

Danke!

Lukas
 

Neue Beiträge

Zurück