Delphi - Outlook plugin samples

Delphi examples for Outlook

The Delphi examples you will find further on this page work with Outlook 365, 2021, 2019, 2016, 2013, 2010, and lower.

And here you can find samples for other applications of the Microsoft Office 2021 - 2000 suite:

Outlook general

How to create your first Microsoft Outlook add-in in Delphi

You can find the detailed description of this project in the developer tutorial: Creating your first Outlook plug-in in Delphi. It demonstrates the following features of Add-in Express for Office and Delphi VCL:

  • Adding a property page to the Properties dialog box of the Inbox folder
  • Adding an custom task pane to Explorer and Inspector windows
  • Handling events
  • Accessing the Outlook Object Model methods and properties

See the complete list of Add-in Express features for Programming Outlook COM add-ins, such as Advanced View and Form Regions, integrated Outlook-specific events, Navigation pane shortcuts and more.

How to scan Outlook folders

This Delphi sample shows how you can scan Outlook folders to get their tree view.

How to add custom menu items to the popup menu in Explorer

This Outlook example shows how to add custom menu items to the Explorer context menu.

How to create a command bar and command bar controls at run time in Outlook

This Win32 sample shows how to add a new control (button) to your Outlook toolbar.

How to modify the CommandBarComboBox (ADXCommandBarComboBox) properties at run time

If you need to change the ADXCommandBarComboBox properties at run-time, download this Delphi plugin.

Ho to add a new item to the Outlook context menu

This Win32 sample shows how you can add several items to an Outlook context menu and connects to their Click events via IConnectionPoint.

How to add a property page to the Tools | Option menu in Outlook

This Delphi Outlook example demonstrates how to add a property page to the Tools | Options... dialog box.

How to save and restore the position of a temporary Outlook command bar in Delphi


How to handle the BeforeCheckNames event of the MailItem interface


How to create an Outlook Bar shortcut in Delphi?


How to get access to MAPIFolder within Outlook Property Page

This Outlook Delphi add-in shows how to access MAPIFolder when dealing with Property or Option pages.

Advanced Outlook Regions

How to create advanced Outlook region

This example demonstrates the most popular feature Add-in Express provides for Outlook developers - Advanced Form and View Regions. More about Customizing Outlook with Delphi forms.


How to move a custom VCL form embedded into Outlook window from one form region to another

This sample add-in shows how you can change a layout of your custom Delphi form embedded into Outlook windows. The plugin creates a ribbon tab in Outlook 2007 - 2021 (a commandbar in lower versions) and allows choosing the layout from a combo box. The form used in this plug-in processes Explorer SelectionChange event. Source code is included.

How to cache forms embedded into Outlook Explorer windows

This Delphi sample demonstrates the Advanced Form Region caching functionality available for forms embedded into Explorer windows. The developer can use this functionality to create the form which will preserve its data when the user switches between folders. There are three caching options for such forms: Non-cached, NewInstanceForEachFolder, and OneInstanceForAllFolders. Forms embedded into Outlook Inspector windows are always non-cached.

How to change the size of a form embedded into Outlook window

This Delphi add-in demonstrates the form-sizing features available for Advanced Form Regions in all versions of Outlook 2021 through 2000. There are two options depending on the visibility of the splitter (as set by the developer): if the splitter is visible, the user can change the form size and the developer can not. To change the form size programmatically, the developer sets the Splitter.Visible property to false.

How to identify the form in an Advanced Form region

This Delphi example shows how to identify the instance of the form embedded into an Outlook window. You have several forms marked with a GUID. On a ribbon button click, the add-in identifies the currently active form instance and shows its GUID.

How to control the visibility of a form in an advanced form region

This sample add-in demonstrates the typical use of forms embedded into Outlook windows: hiding and showing the form in Explorer and Inspector windows. Download

Events of Reading Pane, Navigation Pane, and To-Do bar

This sample project for Delphi demonstrates the use of events missing in Outlook:

  • Show / hide Navigation Pane (FolderList, Outlook Bar)
  • Show / hide / move Reading Pane (Preview Pane)
  • Show / hide / minimize To-Do Bar

More about customization of Outlook Navigation pane, Reading pane, To-Do bar.

How to use several forms in the same Advanced Outlook Form Region

This add-in demonstrates how to use several custom forms embedded into the same Outlook form region. Click on a RadioButton on the Controlling form to activate the corresponding ADXOlForm. More about Advanced Outlook Form Regions.

How to switch between the standard explorer view and WebViewPane view

This sample Outlook add-in shows how you can switch between the standard Outlook explorer view and the WebViewPane view.

Outlook events

How to handle the ItemSend event of Microsoft Outlook

This sample plugin demonstrates how to handle the ItemSend event.

How to handle the SelectionChange event in Delphi

You can find this add-on useful if you are doing your first steps in Outlook development.

How to handle the ExplorerClose event

Yet another example of handling Outlook events

How to connect to FolderAdd, FolderChange, and FolderRemove events?


How to connect to ItemAdd, ItemChange, and ItemRemove events in Outlook?