Merci aardman pour ta réponse, j'ai modifié le code mais j'ai encore un problème, voici le nouveau code :
//Déclaration dans la section Private de la class TForm1.
static LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
static WNDPROC WndProc;
//Code à l'initialisation de ma Form.
WndProc = (WNDPROC)SetWindowLong(Application->Handle, GWL_WNDPROC, (LONG)WindowProc);
//La nouvelle fonction de traitement des messages de la fenêtre.
LRESULT CALLBACK TForm1::WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
Form1->RichEdit1->Text = Form1->RichEdit1->Text + uMsg + "\r\n";
switch (uMsg)
{
case WM_MOVING :
return 0;
default :
return CallWindowProc(WndProc, hwnd, uMsg, wParam, lParam);
}
}
J'obtiens les erreurs suivantes :
[C++ Error] Unit1.cpp(277): E2034 Cannot convert 'long (__stdcall *)(void *,unsigned int,unsigned int,long)' to 'int (__stdcall *)()'
[C++ Error] Unit1.cpp(277): E2342 Type mismatch in parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(void *,unsigned int,unsigned int,long)')
C'est peut être une erreur du a la porté des variables, je suis pas très a l'aise avec cette notion.
Quand on déclare une variable dans la section private d'une class comme c'est le cas ici, elle est visible uniquement dans cette class, et quand on déclare une variable dans la section public de cette class, elle est visible à l'exterieur de la class, je me trompe ?
Quand à la notion "static" ça veux dire que la variable ne peut être modifiée, on passe en fait une copie de la variable ? j'aimerai des explications parce que je suis paumé...
