OVH Cloud OVH Cloud

Fenetre modale ?

5 réponses
Avatar
patrox
Bonjour

est il possible de "transformer" une fenetre normale en fenetre de type
dialogue ? ( c'est a dire que si l'ont clique a coté on entends le "ding" et
celle ci refuse de passer en arriere plan )

j'ai essayé avec un GetMessage et le hwnd de la fenetre uniquement mais ca
delire un peu quand on clique a coté ( il faut cliquer 2 fois avant que la
fenetre ne reprennent tous ces esprits... )

Merci
pat.

5 réponses

Avatar
Christian ASTOR
patrox a écrit:


est il possible de "transformer" une fenetre normale en fenetre de type
dialogue ? ( c'est a dire que si l'ont clique a coté on entends le "ding" et
celle ci refuse de passer en arriere plan )



Le Dialog Manager disable puis enable la fenêtre owner.
Avatar
patrox
>
> est il possible de "transformer" une fenetre normale en fenetre de type
> dialogue ? ( c'est a dire que si l'ont clique a coté on entends le


"ding" et
> celle ci refuse de passer en arriere plan )

Le Dialog Manager disable puis enable la fenêtre owner.




Je n'ai pas compris.

merci
pat.
Avatar
patrox
Quelques progres, j'arrive a associer la fenetre a une dialog proc

En creant la fenetre avec la class "#32770" on peu ensuite lui associer une
dlgProc de cette facon:

SetWindowLongW( hwndMain , DWL_DLGPROC , (long)DlgProc ) ;
SendMessage( hwndMain , WM_INITDIALOG ,(WPARAM)hwndMain,0 ) ;

Les clicks exterieurs a la fenetre font toujours delirer le dialog
malheureusement.

pat.
Avatar
Manuel Leclerc
patrox a écrit :

est il possible de "transformer" une fenetre normale en fenetre
de type dialogue ? ( c'est a dire que si l'ont clique a coté on
entends le "ding" et celle ci refuse de passer en arriere plan )



Je crois que la "modalité" est implémenté à l'aide d'un hook et
je ne vois pas trop comment faire ce que tu veux, si ce n'est
en te faisant ton propre hook. Les messages "sendés" ne passent
pas la queue de message.

--
Je vous ait mis la chanson de windows en mp3 ! :))))))))))
--ackboo
Avatar
patrox
C'est bon ca marche en interceptant le WM_NCACTIVATE dans le dlgproc et en
empechant d'envoyer la fenetre en arriere plan.

pat.