[DELPHI] Pb : Différence de comportement suivant OS
TenjO TengE
☆☆
Posté le 30-09-2005 à 13:56:15
Description du problème :
Ma form principale appelle une fiche qui est 'StayOnTop' mais pas modal. (je dois permettre l'accès à la face avant principale même quand cette fenetre est affichée). Sur cette form se trouve des boutons permettant le chargement et l'enregistrement de fichier. Je lance un OpenDialog sur l'Evenement OnClick de ces boutons. Mais voila alors que sur tous les PC jusqu'a maintenant , la fiche de choix du fichier de l'open dialog étaient bien en avant plan, voila que sur un pc celle ci se trouve derrière ma fiche stayOnTop. La seule différence étant que ce PC est équipé d'un XP service Pack 2 ( tout les autres sont soit en 2000 ou en XP pack 1)
Quel raison pourrait t'il y avoir a cette différence de comportement ? Vient t'elle du service pack 2 ?
Publicité
Posté le 30-09-2005 à 13:56:15
antp
Super Administrateur Champion des excuses bidons
Posté le 30-09-2005 à 14:02:19
le mode StayOnTop de la VCL ne marche pas super fort, j'ai souvent eu des problèmes avec ça. En général j'utilise ça, qui a l'avantage de pouvoir être changé à tout moment (pas juste à la création) :
if ActionAlwaysOnTop.Checked then
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
J'ai essayé , mais le problème reste. En fait meme si j'utilise une simple fiche 'StayOnTop', (avec ta méthode également) et que je lance un opendialog, celui ci est derrière sur le pc équipé du service pack 2 uniquement. J'y comprend rien
antp
Super Administrateur Champion des excuses bidons
Posté le 30-09-2005 à 16:04:48
L'opendialog, tu la construits dynamiquement ou bien tu places un TOpenDialog sur la form en design time ?