IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[Lazarus] SetFocus ne fonctionne pas


Sujet :

Lazarus Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Lazarus] SetFocus ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
      if edit1.text='' then
      edit1.setfocus
    end;
     
    procedure TForm1.Edit2Enter(Sender: TObject);
    begin
      edit2.Text:=edit1.text;
    end;
    Avec ce code je ne devrais pas sortir de edit1 sans que n'y soit écrit quelque chose. Mais cela ne fonctionne pas. Je demande s'il y aurait quelqu'un parmi vous qui pourrait m'aider ? Je remercie d'avance toute aide possible. Merci |

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    D'après moi, il faudrait ajouter que c'est la propriété focus que tu veux passer d'un edit à l'autre. dans al deuxième procédure, c'est le text que tu passe, pas la propriété liée au focus

    Amicalement

    inc002

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je ne voudrais pas qu'il saute de edit (perdre le focus)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      if edit1.text='' then
                      begin
                          ShowMessage('je suis sem texte et devrais reste sur le cadre em edit1');
                           edit1.setfocus()
                           end;
    end;
    J'i trouver un collègue sur le forum Lazarus avec le même problème, (Anglais) seulement mon anglais est presque nul, ce qui fait que je suis un peu désespéré.

    Pardon pour les quelques fautes et merci pour tout.

    http://www.lazarus.freepascal.org/in...wtopic&p=15883

  4. #4
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    OnExit permet de redonner le focus à l'edit lorsque ce dernier le perd via le clavier : TOUCHE TAB

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      if edit1.Text ='' then
      edit1.setfocus;
    end;
    Il ne fonctionne pas si le focus est donné à un autre contrôle avec la souris...
    Il faut alors gérer pour chaque contrôle le focus pour le redonner si nécessaire à l'edit1 .

    Ainsi si il y a un autre edit et un bouton par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Enter(Sender: TObject);
    begin
      if edit1.Text ='' then
      edit1.setfocus;
    end;
     
    procedure TForm1.Edit2Enter(Sender: TObject);
    begin
      if edit1.Text ='' then
      edit1.setfocus;
    end;
    etc...

    Il faut bien entendu vider l'edit1 et lui donner le focus au départ...

    Bonne prog

    Clandestino

  5. #5
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut Une piste
    Bonjour,

    Essaye cela !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      if text='' then 
         LCLIntf.SetFocus((sender as tedit).Handle); 
     
     
    //N'oublie pas le uses LCLIntf
    Cordialement,

    Chris

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Cela ne foncionne pas
    bonsoir Chris.
    Merci beaucoup pour ton coud de main mais malereusement cela ne foncionne pas.
    D'apres se que je me rend compte se code c'est pour win. et moi je suis en se monent a travaillé avec linux a esayé de passer un programe de delphi4 pour lazarus.
    Se code oui il foncionne bien ou soit en focus il maintient dans se conponant pendant que le texte ne soit pas le pretendu.
    Une fois de plus merci pour ta gentilille aide, même que cela na pas eté le resulta desiré.

Discussions similaires

  1. [XL-2010] Setfocus ne fonctionne pas
    Par bickou dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/04/2015, 09h46
  2. TextBox.SetFocus ne fonctionne pas
    Par wipMan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2013, 11h23
  3. setfocus texbox ne fonctionne pas
    Par chris45 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/12/2010, 17h20
  4. [VBA-E] SetFocus sur TextBox dans UserForm_Initialize ne fonctionne pas ?
    Par Jipété dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 27/11/2006, 11h39
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo