Wat is de werkwijze om een eigen Icon in een eigen toolpalette te krijgen.
Welke "Imports" moet je hiervoor maken
Zie onderstaande code zoals het mij niet gelukt is.
Ik heb bij de Resources een Icon toegevoegd met "Add existing file" - MijnIcon.ico
'' auto-enable mijn toolpalette
Implements Autodesk.AutoCAD.Runtime.IExtensionApplication
Public Sub Initialize() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Initialize
'' xxx
End Sub
Public Sub Terminate() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Terminate
'' xxx
End Sub
Private Shared Sub ps_Load(ByVal sender As Object, _
ByVal e As Autodesk.AutoCAD.Windows.PalettePersistEventArgs)
'' loading user data
Dim a As Double = CType(e.ConfigurationSection.ReadProperty("Iv_Toolpalette", 22.3), Double)
End Sub
Private Shared Sub sp_Save(ByVal sender As Object, _
ByVal e As Autodesk.AutoCAD.Windows.PalettePersistEventArgs)
e.ConfigurationSection.WriteProperty("Iv_Toolpalette", 32.3)
End Sub
'' Er mag maar één toolpallete komen
Friend Shared m_ps As Autodesk.AutoCAD.Windows.PaletteSet = Nothing
<CommandMethod("Iv_Toolpalette")> _
Public Sub Iv_Toolpalette()
'' check of de palleteset al bestaat
If m_ps Is Nothing Then
'' nee, creer het
m_ps = New Autodesk.AutoCAD.Windows.PaletteSet("Mijn eerste Pallete", _
New Guid("{108972CA-2723-4347-89A8-31DF3ACBD432}"))
m_ps.Icon = GetEmbeddedIcon("MijnIcon.ico")
Dim myPalette As Container1 = New Container1()
m_ps.Add("Mijn eerste Pallete", myPalette)
End If
'' aan zetten
m_ps.Visible = True
End Sub
Private Shared Function GetEmbeddedIcon(ByVal sName As String) As Drawing.Icon
Return New Drawing.Icon(System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(sName))
End Function
Eddy,
Bijgevoegd een eenvoudig voorbeeld.
De diverse opties voor de visualisatie van knoppen en tekst kan je nog mee spelen.
Weliswaar in C#... vertaling naar VB.net is allicht niet zo moeilijk.
Gr.