Finally figured it out. Code supplied below. Functions are in <shellapi.h>
Graphics::TIcon *myIcon = new Graphics::TIcon();
HIMAGELIST SystemImageListHandle;
HICON SytemImageListIconHandle;
SHFILEINFO FileInfo;
if (OpenDialog1->Execute())
{
// Get Large Icon System Image List Handle
SystemImageListHandle = (HIMAGELIST)SHGetFileInfo(
OpenDialog1->FileName.c_str(),
FILE_ATTRIBUTE_NORMAL,
&FileInfo,
sizeof(FileInfo),
SHGFI_SYSICONINDEX |SHGFI_LARGEICON);
// SHFILEINFO contains Handle of the Icon (hIcon) and the index of the
// Icon (iIcon) in the Large Icon System Image List. For Small Icon use
// SHGFI_SMALLICON in place of SHGFI_LARGEICON.
// Extract Icon from the Image List
SytemImageListIconHandle = ImageList_GetIcon(
SystemImageListHandle,
FileInfo.iIcon,
ILD_NORMAL);
// Set myIcon
myIcon->Handle = SytemImageListIconHandle;
// Display myIcon in Image1
Image1->Picture->Icon = myIcon;
}
else
{
ShowMessage("File Dialog would not open"

;
}