- Start Visual Studio 2005.
- Choose File->New->Project from the menu.
- In the New Project dialog box, choose either Visual C# or Visual Basic in the Projects Type List, and choose Class Library in the Templates List.
- Type the project name as SampleOptions in the Project Name field, and then click OK. If desired, type a new location for your project or select a directory using the Browse button, and then click OK.
- In the Solution Explorer window right-click on the References folder, and select Add Reference... from the context menu. In the Add Reference dialog box, select the Browse tab and browse to Leadtools for .NET C:\LEADTOOLS 17.5\Bin\DotNet\Win32 folder and select the following DLLS:
[Showing a C# code example]
Leadtools.dll
Leadtools.Dicom.dll
Leadtools.Dicom.AddIn.dll
System.Windows.Forms
Click the OK button to add the above DLLs to the application.
- In the Solution Explorer window right-click Class1.cs and select Rename from the context menu. Type AddInOptions.cs and press Enter.
- Open the AddInOptions.cs file and add the following using statements:
using Leadtools.Dicom.AddIn;
using Leadtools.Dicom.AddIn.Interfaces;
using Systems.Windows.Forms;
- Add IAddInOptions to the AddInOptions class derivation list. Your class should look like the following:
public class AddInOptions : IAddInOptions
{
}
- Right-click on SampleOptions and select Add-> New Item... from the context menu. In the Add New Item dialog select Resources File. In the Name: textbox change the name to Resource.resx. Click the Add button.
- In the Solution Explorer double-click the Resource.resx file to open the resouce editor. Click the Add Resource button and select Add Existing File…. Navigate to the icon file to be used as the image for this addin. Rename the Icon in the resource editor to OptionImage.
- The LEADTOOLS PACS Framework admin makes use of separate application domains to enable the loading of the same IAddOptions for individual services. To enable this behavior the AddInOptions class needs to be derived from MarshalByRefObject and marked as Serializable. After making these changes your class should now look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
}
- Right-click on IAddInOptions and select "Implement Interface->Implement Interface" from the context menu. Your class should now look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
#region IAddInOptions Members
public void Configure(System.Windows.Forms.IWin32Window Parent, Leadtools.Dicom.AddIn.Common.ServerSettings Settings, string ServerDirectory)
{
throw new Exception(The method or operation is not implemented.);
}
public AddInImage Image
{
get
{
throw new Exception(The method or operation is not implemented.);
}
}
public string Text
{
get
{
throw new Exception(The method or operation is not implemented.);
}
}
#endregion
}
- Make the following changes to the AddInOptions class:
- Display a message box in the Configure method.
- Assign the AddInImage property.
- Assign the text property.
After making these changes your class should look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
#region IAddInOptions Members
public void Configure(System.Windows.Forms.IWin32Window Parent, Leadtools.Dicom.AddIn.Common.ServerSettings Settings, string ServerDirectory)
{
// For a production application you would call a user
// defined dialog box to configure the add-in options.
MessageBox.Show(Configure called);
}
public AddInImage Image
{
get
{
// The image has to be converted to AddInImage so that it is safe
// to cross appdomains. Png allows us to keep transparency
// intact.
using(System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
SampleOptions.Resource.OptionImage.ToBitmap().Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.Position = 0;
return new System.Drawing.Bitmap(ms);
}
}
}
public string Text
{
get
{
return Sample AddIn;
}
}
#endregion
}
- Build the class library and take the output and put it in the AddIn directory of your previously created server.
- Start the DICOM Server manager. If the service you install the add-in to is not listed in the Server combo box please select it. The available options should appear as icons in the AddIn Options list box. Double-click on the option you created. A message box should appear.