[C/C++] Difficultés API Win32

Résolu/Fermé
Utilisateur anonyme - 25 juin 2008 à 19:31
 Utilisateur anonyme - 26 juin 2008 à 18:46
Bonjour,

j'essaye actuellement d'apprendre l'API Win32 à partir du site:

https://openclassrooms.com/fr/courses

Cependant je n'arrive pas a copier le texte d'un contrôle d'edition a une ligne. Il y a EM_GETLINE,
mais je n'arrive pas à la faire fonctionner:

Exemple:

TCHAR texte[15] = ""
SendMessage(hEdit[0],EM_GETLINE,(LPARAM)texte,0);


Mais le retour est 0.

Est-ce que quelqu'un peut m'indiquer comment l'utiliser ?

Aussi, il est expliqué que l'on peut griser un élement d'un menu (rendre inactif lors du clic), mais quand celui-ci
a été crée directement dans main.cpp. Comment le faire avec les ressources ? Le problème est que utilisant les
ressources, le compilateur (Code::Blocks 8.02) dit "menu has not been declared". Que faire?

1 MENUITEM "Parler", ID_B_PARLER, MF_GRAYED

1 EnableMenuItem(menu, ID_B_PARLER, MF_BYCOMMAND | MF_GRAYED);




De même, comment créer un Edit Text à l'aide des ressources ?
Je n'arrive pas à faire fonctionner, cause: "sintax error":

1 CONTROL "", IDC_NOMDUCONTROLE, <couleur nom="bleu">"EDIT"</couleur>, WS_CHILD | WS_VISIBLE, x, y, largeur, hauteur


Merci d'avance !

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 juin 2008 à 21:44
Salut,

Pout ton problème de SendMessage, c'est normal.
Quand je lis ça pour lParam je vois ceci:
Before sending the message, set the first word of this buffer to the size, in TCHARs, of the buffer.

C'est un peu bizzare comme truc: il faut que tu mettes la taille de ton buffer au début de ton buffer (comme si c'était un pointeur d'entier)
Tiens ça donnera ça:
TCHAR texte[15];
LPWORD tmp = (LPWORD) texte;
*tmp = sizeof(texte);
SendMessage(hEdit[0],EM_GETLINE,0, (LPARAM)texte); 

Tu remarqueras que tu as inversé les paramètres aussi. Ici wParam est le numéro de la ligne et lParam le buffer.
Voilà, bon c'est spécial comme truc, t'as pas de bol de tomber là dessus pour débuter :-)

Bon par contre côté ressources je connais pas bien...

0
Utilisateur anonyme
26 juin 2008 à 18:46
Merci beaucoup,

j'ai compris et ça marche bien!

A+
0