Hi Hennep
Here the code to a simple project, place a Label on the Form and set these properties
Caption = "SomeEmail@net.com"
Cursor = crHandPoint
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//OnMouseEnter event of Label1
void __fastcall TForm1::Label1MouseEnter(TObject *Sender)
{
Label1->Font->Color=clBlue;
}
//---------------------------------------------------------------------------
//OnMouseLeave event of Label1
void __fastcall TForm1::Label1MouseLeave(TObject *Sender)
{
Label1->Font->Color=clBlack;
}
//---------------------------------------------------------------------------
//OnClick event of Label1
void __fastcall TForm1::Label1Click(TObject *Sender)
{
//You can also use the Hint property to hold the Email address if you like so you would just change Label1->Caption to Label1->Hint
ShellExecute(Handle,
"open",
String("mailto:"+Label1->Caption).c_str(),
NULL,
NULL,
SW_SHOW);
/*
Syntax to also include subject
ShellExecute(Handle,
"open",
String("mailto:email@net.com?Subject=Test"

.c_str(),
NULL,
NULL,
SW_SHOW);
Include subject and body
ShellExecute(Handle,
"open",
String("mailto:email@net.com?Subject=Test&Body=Just testing."

.c_str(),
NULL,
NULL,
SW_SHOW);
*/
}
//---------------------------------------------------------------------------
Another snippet
AnsiString Body,Subject="Test Subject",Email="Test@net.com",FullStr;
Body = "Test1%0ATest2"; // %0A hexadecimal equivalent of Line feed "\r\n" will not work in this case
FullStr = "mailto:"+Email + "?Subject="+Subject + "&Body="+Body;
ShellExecute(Handle, NULL, FullStr.c_str(), NULL, NULL, SW_SHOWDEFAULT);
For more info on the parameters of ShellExecute and Outlook parameters
Since the above link is specifically aimed toward command line execution we don't have to worry about the other
Hexadecimal equivalents such as
Space ( ) %20
Comma (,) %2C
Question mark (?) %3F
Period (.) %2E
Exclamation point (!) %21
Colon

) %3A
Semicolon (

%3B