Salut,
J'ai implémenté un descendant des TOpenDialog en utilisant un template défini dans une ressource (*.res).
Pour plus d'info sur les templates pour les TOpenDialogue il suffit de regarder le code des TOpenPictureDialog dans ExtDlgs.pas, en gros :
La boite de dialogue fonctionne parfaitement tant que le projet n'est pas compilé pas avec les "package d'exécution" (vcl en particulier).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function TMyOpenDialog.Execute(ParentWnd: HWND): Boolean; begin if NewStyleControls and not (ofOldStyleDialog in Options) then Template := 'BSDLGTEMPLATE01' else Template := nil; Result := inherited Execute(ParentWnd); end;
Si il est compilé avec les package alors la methode execute affiche un sablier et se termine sans rien faire.
Si il est compilé mais que le template n'est pas affecté alors la boite de dialogue s'ouvre, mais bien sur sans les fonctionnalités ajoutées !
En debuggage, on arrive sur la ligne
qui ne fait rien et renvoie faux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Result := inherited Execute(ParentWnd);
si quelqu'un à une idée sur la question...
Partager