Salut
Bon ben ... pour la soluce de brunews je verrai plus tard

En attendant pour ceux que ça peut intéresser :
En adaptant le code de jfrancois pour utiliser les événements d'une form ça donne :
dans le .cpp :
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
bIsLeftMouseButtonDown = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
DeleteObject(mRegion);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
bIsLeftMouseButtonDown = false;
contours[0] = Point(0,0);
contours[1] = Point(320,0);
contours[2] = Point(160,200);
BorderStyle = bsNone;
try
{
mRegion = CreatePolygonRgn(contours, 3, WINDING);
assert(mRegion!=0);
SetWindowRgn(Handle, mRegion, true);
}
catch (Exception * ev)
{
Application->MessageBox("Lézard !","Erreur", MB_OK);
}
HCURSOR hCursorPrev = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button != mbLeft)
return;
GetWindowRect(Handle,&WindowSizeDown);
// --- Position de la souris au clic initial
GetCursorPos(&CursorPosDown);
// --- Changement de repère
CursorPosDown = ScreenToClient(CursorPosDown);
bIsLeftMouseButtonDown = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (! bIsLeftMouseButtonDown)
return;
POINT CursorPos;
GetCursorPos(&CursorPos);
// --- Déplacer la fenêtre de la valeur du déplacement de la souris
int iX;
int iY;
int iWidth;
int iHeight;
iX = CursorPos.x - CursorPosDown.x;
iY = CursorPos.y - CursorPosDown.y;
iWidth = WindowSizeDown.right - WindowSizeDown.left;
iHeight = WindowSizeDown.bottom - WindowSizeDown.top;
MoveWindow(Handle, iX,iY, iWidth, iHeight, TRUE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
bIsLeftMouseButtonDown = false;
}
//---------------------------------------------------------------------------
et dans le .h :
bool bIsLeftMouseButtonDown;
RECT WindowSizeDown;
POINT CursorPosDown;
HCURSOR hCursorPrev;
C'est plus long à taper, certes, mais ça marche trés bien

alors...
Merci encore pour votre aide à tous les deux.
Bonne semaine
A+