[Perl/Tk] probleme de focus

probleme de focus [Perl/Tk] - Perl - Programmation

Marsh Posté le 05-03-2003 à 12:03:03    

salut les amis,
 
je fais un script en Perl/Tk sous Win2000, ce script est interfacé avec un soft du commerce via le package win32 :: OLE
 
a un moment, il faut que l'utilisateur selectionne une donnée dans une fenetre qui s'est ouverte dans le soft commercial
 
pour le moment, je demande a l'utilisateur de selectionner la fenetre du soft en question avec une petite message box
mais ca me plait pas beaucoup.
 
y aurait il moyen de donner le focus a cette fenetre depuis mon script en Tk? ou avec une fonction de windows(genre ALT+TAB)?


Message édité par circeedevalette le 05-03-2003 à 15:35:56

---------------
Tavernier! j'ai soif de la vie, qu'on m'en apporte
Reply

Marsh Posté le 05-03-2003 à 12:03:03   

Reply

Marsh Posté le 05-03-2003 à 12:09:25    

y aurait il sinon un moyen sous windows de connaitre/recuperer le handle du script en cours
 
je m'explique, la fonction qui ouvre cette put*** de fenetre dans l'autre soft prend en parametre le handle de l'application a laquelle elle doit etre attachée. si y a pas de parametre, elle souvre dans la fenetre de base.
Dans l'aide de mon soft, y a un exemple en VBA, ils utilise en parametre "CreatingNodeDlg.hWnd" . je voudrais faire la meme chose dans mon soft mais je sais pas comment faire  :cry:


---------------
Tavernier! j'ai soif de la vie, qu'on m'en apporte
Reply

Marsh Posté le 05-03-2003 à 19:24:03    

Pour la 1ere question regarde du coté de win32::GUI :
http://dada.perl.it/gui_docs/guico [...] ed_windows
 
 
Pour ta 2eme question:
hex($widget->id)
 
j'espere que ca va t'aider


Message édité par pospos le 05-03-2003 à 19:24:24
Reply

Marsh Posté le 06-03-2003 à 09:32:57    

pospos a écrit :

Pour la 1ere question regarde du coté de win32::GUI :
http://dada.perl.it/gui_docs/guico [...] ed_windows


 
ok je vais voir de ce coté
 

pospos a écrit :

Pour ta 2eme question:
hex($widget->id)
 
j'espere que ca va t'aider


 
si j'ai bien compris, cette fonction va me retourner handle de $widget
 
en fait, il me faudrait le handle du script perl actuel


---------------
Tavernier! j'ai soif de la vie, qu'on m'en apporte
Reply

Marsh Posté le 06-03-2003 à 21:27:12    

quesque tu entend par handle du script?
celui de la fenetre de commande dos? celui de ta fenetre tk?

Reply

Marsh Posté le 07-03-2003 à 13:29:16    

pospos a écrit :

quesque tu entend par handle du script?
celui de la fenetre de commande dos? celui de ta fenetre tk?


 
je pense que c'est celui du script qu'il lance la fenetre Tk
 
sinon j'ai contourné le probleme :  
avec le package Win32::GuiTest, je recupere le handle de ma fenetre qui vient de s'ouvrir dans l'autre soft (avec FindWindowLike) et je  la met au premier plan (avec SetForegroundWindow)
 
par contre, comment on fait pour qu'une fenetre Tk que l'on soit au premier plan
avec forceFocus, elle clignote dans la barre des tache mais n'est pas au premier plan  :cry:


---------------
Tavernier! j'ai soif de la vie, qu'on m'en apporte
Reply

Marsh Posté le 08-03-2003 à 11:11:10    

pour mettre une fenetre Tk au premier plan tu fais simplement:
 
$mw->focus;
 
et si tu veux son handle tu fais:
hex($mw->id); comme pour un widget
 
j'ai pas trop compris pk tu voulais le handle de ton script, mais si t'as coutourné le prob c bon?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed