|
Positionnement de la boite DIALOGUE |
Débuté par Michel HERRSCHER, 13 oct. 2006 22:58 - 5 réponses |
| |
| | | |
|
| |
Posté le 13 octobre 2006 - 22:58 |
Bonjour,
Apparemment elle s'affiche au milieu de l'écran par défaut
comment la positionner au milieu de la fenêtre appelante ?
Merci de vos lumières
-- Michel HERRSCHER CONSULTANT Tel : 33450870912 http://www.mhc.herrscher.fr Président WINDASSO - Association des utilisateurs WxxDEV(c) http://www.windasso.org |
| |
| |
| | | |
|
| | |
| |
Posté le 13 octobre 2006 - 23:34 |
Michel HERRSCHER a écrit :
Bonjour,
Apparemment elle s'affiche au milieu de l'écran par défaut
comment la positionner au milieu de la fenêtre appelante ?
Merci de vos lumières
Avec un hook ? Si tu parles de la d'une fenetre MessageBox.
Sur WIndasso, il y a un exemple de hook sur les messages box.
PYT |
| |
| |
| | | |
|
| | |
| |
Posté le 13 octobre 2006 - 23:35 |
Michel HERRSCHER a écrit :
Bonjour,
Apparemment elle s'affiche au milieu de l'écran par défaut
comment la positionner au milieu de la fenêtre appelante ?
Merci de vos lumières
Voici un exemple de code :
Voici un exemple de hook sur une fenêtre ouinon. La position et les dimensions sont modifiées.
*********************** GLOBAL hHook est un entier HCBT_ACTIVATE est un entier = 5 WH_CBT est un entier = 5
*********************** PROCEDURE CBTProc(nCode est un entier, wParam est un entier,lParam est un entier )
hwnd est un entier IF(nCode<0) THEN RENVOYER AppelDLL32("user32","CallNextHookEx" , hHook, nCode, wParam, lParam) END
SELON nCode CAS HCBT_ACTIVATE : hwnd = wParam AppelDLL32("user32","MoveWindow" , hwnd, 0, 0, 200, 200, Vrai) RENVOYER 0 FIN
RENVOYER AppelDLL32("user32","CallNextHookEx" , hHook, nCode, wParam, lParam)
*********************** PROCEDURE OuiNonEtendue(texte est une chaîne)
rep est un entier
hHook = API("user32","SetWindowsHookExA" , WH_CBT,&CBTProc,Null,API("kernel32","GetCurrentThreadId" ))
rep = OuiNon(texte)
AppelDLL32("user32","UnhookWindowsHookEx" , hHook)
RENVOYER rep
*********************** SI OuiNonEtendue("Femer la fenêtre ?!") ALORS Ferme FIN
*********************** |
| |
| |
| | | |
|
| | |
| |
Posté le 14 octobre 2006 - 15:32 |
| |
| |
| | | |
|
| | |
| |
Posté le 14 octobre 2006 - 15:33 |
Bonjour Pierre
Je pensais plus à des paramètres directs à donner pour la boite dans l'appel DIALOGUE. car les fonctions OUI / NON erreur etc. sont déjà affichées au centre de la fenêtre appelante.
A la place du hook, j'avais carrément fait ma propre fenêtre de dialogue pour gérer l'ensemble des paramètres.
SUGGESTION à PCSoft S'il n'est pas trop tard pour la version XI: ))
disposer d'un choix de positionnement dans l'assistant : au centre écran, au centre fenêtre appelante, à la position du curseur ... ou mini d'un choix global au niveau du projet, voire un paramètre dans l'appel de DIALOGUE( j'ai pas testé SAISIE, mais suivre la même idée serait bien)
Merci Pierre -- Michel HERRSCHER CONSULTANT Tel : 33450870912 http://www.mhc.herrscher.fr Président WINDASSO - Association des utilisateurs WxxDEV(c) http://www.windasso.org
Michel HERRSCHER a écrit : Bonjour,
Apparemment elle s'affiche au milieu de l'écran par défaut
comment la positionner au milieu de la fenêtre appelante ?
Merci de vos lumières
Dans un message Pierre disait :
> Voici un exemple de code :
Voici un exemple de hook sur une fenêtre ouinon. La position et les dimensions sont modifiées.
*********************** GLOBAL hHook est un entier HCBT_ACTIVATE est un entier = 5 WH_CBT est un entier = 5
*********************** PROCEDURE CBTProc(nCode est un entier, wParam est un entier,lParam est un entier )
hwnd est un entier IF(nCode<0) THEN RENVOYER AppelDLL32("user32","CallNextHookEx" , hHook, nCode, wParam, lParam) END
SELON nCode CAS HCBT_ACTIVATE : hwnd = wParam AppelDLL32("user32","MoveWindow" , hwnd, 0, 0, 200, 200, Vrai) RENVOYER 0 FIN
RENVOYER AppelDLL32("user32","CallNextHookEx" , hHook, nCode, wParam, lParam)
*********************** PROCEDURE OuiNonEtendue(texte est une chaîne)
rep est un entier
hHook = API("user32","SetWindowsHookExA" , WH_CBT,&CBTProc,Null,API("kernel32","GetCurrentThreadId" ))
rep = OuiNon(texte)
AppelDLL32("user32","UnhookWindowsHookEx" , hHook)
RENVOYER rep
*********************** SI OuiNonEtendue("Femer la fenêtre ?!") ALORS Ferme FIN
***********************
|
| |
| |
| | | |
|
| | |
| |
Posté le 14 octobre 2006 - 21:25 |
Dans un message Lahellec Michel disait :
pas tout à fait car Info ou Ouinon utilise la windevmessagebox , apparament Dialogue pas.
-- Michel HERRSCHER CONSULTANT Tel : 33450870912 http://www.mhc.herrscher.fr Président WINDASSO - Association des utilisateurs WxxDEV(c) http://www.windasso.org |
| |
| |
| | | |
|
| | | | |
| | |
|