Attendre ACROPDF + Setfocus

Signaler
Messages postés
3
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 mai 2009
-
Messages postés
2
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
-
Bonjour,

Un soucis qui me bloque et m'empêche de progresser d'avantage :
Je signale que je programme à l'aide de DELPHI 3 (on ne rigole pas dans le fond de la salle)

Dans ma form1 un bouton qui ouvre un opendialog,
Après le choix du fichier pdf depuis la form1 je charge le fichier dans l'activex ACROPDF situé sur la form2,
Je fais un form2.Button1.setfocus
J'affiche la form2.
Sur la form2 le bouton n'a jamais le focus j'ai tenté de faire un timer toute les secondes puis un setfocus sur ce bouton rien à faire ACROPDF garde la main. Et je dois absolument avoir le focus sur le bouton pour pouvoir faire mes propres combinaison de touches pour commander ACROPDF. Avec la souris si je clique sur le bouton pas de problème il garde le focus malheureusement une fois fini mon application n'aura pas de souris.

Une idée ?
Merci de prendre la peine de chercher et de me répondre.

Joche

3 réponses

Messages postés
2
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009

Bonsoir,

J'ai le même problème avec un formulaire MS ACCESS. Pour chaque enregistrement, le formulaire affiche un fichier pdf associé. Je passe le focus à un textbox, qui le prend mais le perd aussitôt.

As-tu trouver la solution, je galère depuis plusieurs semaines à chercher la solution.

J'ai mis un doevents qui en principe devait forcer MS ACCESS a attendre la fin du chargement du fichier. Mais cela ne fonctionne pas.

Merci de ta réponse.
Messages postés
3
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 mai 2009

Bonjour,

Oui j'ai trouvé une solution, elle n'est pas dans les règles de l'art mais au moins ça fonctionne.

Je simule un appui avec la souris en dehors de mon controle activeX (acroPdf1)
et là il me rend la main. Dans mon application les utilisateurs non pas de souris (boutons dédiés).

Ex :

Var
MyPoint: TPoint;

begin
  // Position de la souris avant
  GetCursorPos(MyPoint);
// Je positionne la souris
  SetCursorPos(100, 100);
// J'appui sur la souris bouton gauche
  mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
// Je déplace la souris
 SetCursorPos(150,150);
// Je relache le bouton gauche
  mouse_event(MOUSEEVENTF_LEFTUP,0,0, 0, 0);
  //Repositionne la souris comme avant
  SetCursorPos(MyPoint.X, MyPoint.Y);
  Form2.SetFocus;
  Application.ProcessMessages;

Bien sur a toi de trouver les bonnes coordonnées en fonction de ton application. Dans mon appli il y a risque que le PDF reprenne la main alors j'ai mis ça dans un timer.
J'espère que cela pourra t'aider
Joche
Messages postés
2
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009

Bonjour,

Je te remercie de ta réponse. C'est malheureusement ce que je m'apprêtai à faire.

Il doit pourtant y avoir un moyen d'attendre la fin du chargement du fichier pdf avant de passer le focus.

Jean-Michel