je créé une application MDI à l'aide de la VCL de C++ Builder 6 avec une fenêtre principale ( TFormPrincipal ) et des fenêtres filles (TFormChild ) qui affichent des images. Tout se passe bien qd j'en reste là mais voilà je dois aussi pouvoir afficher des fenêtres filles différentes créées à partir de l'API 32.
Donc pour cela je créer ma classe de fenêtre fille et la registre :
où apps->HCwnd = FormPrincipal()->ClientHandle ; // handle sur la zone client MDI
normalement tout devrait marché comme il faut mais voilà l'affichage de l'image contenu dans ma fenêtre se fait sans aucun pb mais la fenêtre elle est fondue ( collée ) au background et de plus le cadre la fenêtre fille n'apparaît pas.
Si qq un pouvais m'aider je lui en serais éternellemnt reconnaissant merci d'avance a+
Marsh Posté le 08-08-2002 à 17:20:07
Bonjour
je créé une application MDI à l'aide de la VCL de C++ Builder 6
avec une fenêtre principale ( TFormPrincipal ) et des fenêtres filles (TFormChild ) qui affichent des images.
Tout se passe bien qd j'en reste là
mais voilà je dois aussi pouvoir afficher des fenêtres filles différentes
créées à partir de l'API 32.
Donc pour cela je créer ma classe de fenêtre fille et la registre :
WNDCLASS wndclass;
wndclass.style =CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
wndclass.lpfnWndProc =DocWndProc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =sizeof(WND*); // Pointer to extra parameters
wndclass.hInstance =HInstance;
wndclass.hIcon =NULL;
wndclass.hCursor =LoadCursor(apps->hRes,(LPCSTR)"Doc_cursor" );
wndclass.hbrBackground =CreateSolidBrush(GetSysColor(COLOR_WINDOW));
wndclass.lpszMenuName =NULL;
wndclass.lpszClassName ="childWin2";
RegisterClass(&wndclass);
l'enregistrement se fait comme il faut
donc ensuite j'essaye de créeer une fenêtre fille du nouveau type
de la manière suivante :
MDICREATESTRUCT mc;
mc.szClass="childWin2";mc.szTitle=(LPCSTR)"une fenêtre fille ";
mc.hOwner=HInstance;mc.x=mc.y=mc.cx=mc.cy= CW_USEDEFAULT;
mc.style=WS_HSCROLL|WS_VSCROLL;mc.lParam=0;
hwnd=(HWND)SendMessage(apps->hCwnd,WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)&mc) ;
où apps->HCwnd = FormPrincipal()->ClientHandle ; // handle sur la zone client MDI
normalement tout devrait marché comme il faut
mais voilà l'affichage de l'image contenu dans ma fenêtre
se fait sans aucun pb mais la fenêtre elle est fondue ( collée ) au
background et de plus le cadre la fenêtre fille n'apparaît pas.
Si qq un pouvais m'aider je lui en serais éternellemnt reconnaissant
merci d'avance
a+