J'utilise GetWindowText avec VC++6 pour reprendre le texte d'une edit box. Lorsque mon prog appel la function il fait une erreur dans le module USER.EXE.
J'en conclut que je me sert pas bien de la fonction alors comment on s'en sert???
J'ai pas percute tout de suite mais pour recuperer le texte d'une editbox, c'est pas GetWindowText qu'il faut utiliser mais GetDlgItemText.
GetWindowText recupere le titre de ta fenetre.
GetDlgItemText(HWND hDlg, int ID, LPTSTR buffer, int size);
Il suffit apres de choisir size et buffer de taille suffisante pour ne pas avoir de depassement.
Xs a raison mais pour plus de souplesse:
utilise:
GetDlgItemText(hDlg,IDC_VAR,var,sizeof(var));
avec les déclarations de Xs
comme ca tu peux récupérer autant de caractères que tu veux.
a+
apientry
Je vient de trouver un truc encore plus simple :
pour ajouter du texte :
SendMessage(ListWnd, LB_ADDSTRING, 0, (LPARAM)(LPCTSTR) "texte");
avec ListWnd le handle du label
pour recuperer le texte :
char var[255];
SendMessage(ListWnd, LB_GETTEXT, 0, (LPARAM)(LPCTSTR) var);
voila ca marche nickel et c'est pas trop compliqué du moment qu'on a le handle....
le seul probléme c'est que par la suite quand je fait cout << var
ca refuse de m'afficher le contenu de la fenetre, a la place ca me met un vieu symbole ascii
Quelqu'un sait comment on fait pour sauter une ligne dans une editbox car lorsque j'utilise 0x0D ou '\r' l'editbox m'affiche un caractére genre DOS : |||
Assez bandant pour faire un historique propre !!!