FAQ n°2574, publiée le 09/10/2002
Avec la nouvelle interface pour le langage externe proposée à partir de la version 7, j'arrive bien à ouvrir une fenêtre, mais je ne parviens pas à affecter les champs. Comment faut-il faire?
Après l'ouverture de la fenêtre, la gestion des champs est assurée par une procédure CALLBACK. Voici un exemple :

// déclaration de la CALLBACK avant d'ouvrir la fenêtre
 nWDSetCallbackNext(CallBackFen,0);
 nWDExecute("OUVRE(\"testpph.wdw\")");

// code de la CALLBACK
void CallBackFen(DWORD/* dwUserParam*/,LPCTSTR pszCodeAction)
{
 // pszCodeAction contient la valeur retournée par WDTouche = "XX"
 if( strcmp(pszCodeAction,"AA")==0 ){
  // Affecte le 1er élément du champ indicé ADRESSE
  nWDExecute("ADRESSE[1]=\"Rue des Poètes\"");
  // Lit la valeur du même champ
  nWDExecute("ADRESSE[1]");
  // Affiche pour test
  MessageBox(NULL,pszWDGetValeurRetour(),"Valeur de ADRESSE[1]?", MB_OK);
 }; endif
}

Note: cette technique est utilisée dans le programme exemple VILLE.CPP installé avec l'interface pour le langage C.