babyboo1107
Messages postés40Date d'inscriptionsamedi 22 mars 2008StatutMembreDernière intervention 9 septembre 2010
-
17 nov. 2008 à 13:28
babyboo1107
Messages postés40Date d'inscriptionsamedi 22 mars 2008StatutMembreDernière intervention 9 septembre 2010
-
20 nov. 2008 à 17:03
Bonjour à tous,
voilà j'aimerai pouvoir afficher le nb de lignes où il y à des caractère affiché exemple
1 kkkk
2
3
4jjj
il devrais m'afficher 2 pcq je n'ai que la ligne 1 et 4 qui sont "remplie"
Seulement je bidouile depuis 3 jours avec l'aide mais je n'y comprend pas grand chose
voici mon code mais il ne me donne pas le résultat escompter bien sur
case WM_COMMAND:
if ((HWND)lParam hWndEdit && HIWORD(wParam) EN_CHANGE) {
nNbLignes = SendMessage(hWndEdit,EM_GETLINECOUNT,0,0);
for (k=1;k<=nNbLignes;++k){
nbcharact = SendMessage(hWndEdit,EM_LINELENGTH ,k,0);
if (nbcharact!= 0) {++lgVisible;}
}
babyboo1107
Messages postés40Date d'inscriptionsamedi 22 mars 2008StatutMembreDernière intervention 9 septembre 2010 20 nov. 2008 à 17:03
j'ai trouver pour tous ceux qui seront dans mon cas ou un similaire
// WinEdit.c
// Une fenêtre d'édition
#include <windows.h> // déclarations de l'API Windows
PSTR szProgName = "WinEdit"; // le nom du programme
LRESULT CALLBACK WndProc(HWND hWnd, // handle de notre fenêtre
UINT nMsg, // numéro du message
WPARAM wParam, // 1ère info supplémentaire
LPARAM lParam) { // 2ème info supplémentaire
HINSTANCE hInst; // processus propriétaire
long lgVisible,tps,carFinL =1;
long nNbLignes=0;
int k;
int lgsvt;
char tampon[80]; // tampon pour l'affichage
static HWND hWndEdit; // sous-fenêtre (garde sa valeur)
// entre les appels de WndProc
switch(nMsg) { // quel message ?
case WM_CREATE : // on va créer une sous-fenêtre
// le processus propriétaire
hInst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
hWndEdit = CreateWindow("EDIT", // nom de la classe
NULL, // pas de titre
WS_CHILD | // fenêtre fille
WS_VISIBLE | // visible
WS_VSCROLL | // avec défilement vertical
ES_MULTILINE, // édition sur plusieurs lignes
0, 0, 0, 0, // dimension spécifiée ailleurs
hWnd, // handle fenêtre parente
NULL, // pas de menu
hInst, // processus propriétaire
NULL); // pas de data supplémentaires
return 0; // message traité
case WM_SETFOCUS : // on reçoit la main
SetFocus(hWndEdit); // la passer à la fenêtre fille
return 0; // message traité
case WM_SIZE : // dimension de fenêtre ajustée
// redimensionner fenêtre fille
MoveWindow(hWndEdit, // handle fenêtre fille
0, // bord gauche
0, // bord supérieur
LOWORD(lParam), // largeur
HIWORD(lParam), // hauteur
TRUE); // repeint la fenêtre fille
return 0; // message traité
case WM_COMMAND:
if ((HWND)lParam hWndEdit && HIWORD(wParam) EN_CHANGE) {
nNbLignes = SendMessage(hWndEdit,EM_GETLINECOUNT,0,0);
if ((nNbLignes==1)&& (SendMessage(hWndEdit,EM_LINELENGTH,0,0)==0))nNbLignes=0;
babyboo1107
Messages postés40Date d'inscriptionsamedi 22 mars 2008StatutMembreDernière intervention 9 septembre 2010 18 nov. 2008 à 11:43
Merci pour ta réponse mais ça ne change rien ca ne fonction qd même pas avec ou sans l'égale avec l'égale il m'aurait mis une ligne de plus je m'en serai rendue compte s'il suffisait de ça merci qd même je crois qu'il s'agit plutôt d'une mauvaise utilisation des fonction envoyées
babyboo1107
Messages postés40Date d'inscriptionsamedi 22 mars 2008StatutMembreDernière intervention 9 septembre 2010 20 nov. 2008 à 17:03
j'ai trouver pour tous ceux qui seront dans mon cas ou un similaire
// WinEdit.c
// Une fenêtre d'édition
#include <windows.h> // déclarations de l'API Windows
PSTR szProgName = "WinEdit"; // le nom du programme
LRESULT CALLBACK WndProc(HWND hWnd, // handle de notre fenêtre
UINT nMsg, // numéro du message
WPARAM wParam, // 1ère info supplémentaire
LPARAM lParam) { // 2ème info supplémentaire
HINSTANCE hInst; // processus propriétaire
long lgVisible,tps,carFinL =1;
long nNbLignes=0;
int k;
int lgsvt;
char tampon[80]; // tampon pour l'affichage
static HWND hWndEdit; // sous-fenêtre (garde sa valeur)
// entre les appels de WndProc
switch(nMsg) { // quel message ?
case WM_CREATE : // on va créer une sous-fenêtre
// le processus propriétaire
hInst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
hWndEdit = CreateWindow("EDIT", // nom de la classe
NULL, // pas de titre
WS_CHILD | // fenêtre fille
WS_VISIBLE | // visible
WS_VSCROLL | // avec défilement vertical
ES_MULTILINE, // édition sur plusieurs lignes
0, 0, 0, 0, // dimension spécifiée ailleurs
hWnd, // handle fenêtre parente
NULL, // pas de menu
hInst, // processus propriétaire
NULL); // pas de data supplémentaires
return 0; // message traité
case WM_SETFOCUS : // on reçoit la main
SetFocus(hWndEdit); // la passer à la fenêtre fille
return 0; // message traité
case WM_SIZE : // dimension de fenêtre ajustée
// redimensionner fenêtre fille
MoveWindow(hWndEdit, // handle fenêtre fille
0, // bord gauche
0, // bord supérieur
LOWORD(lParam), // largeur
HIWORD(lParam), // hauteur
TRUE); // repeint la fenêtre fille
return 0; // message traité
case WM_COMMAND:
if ((HWND)lParam hWndEdit && HIWORD(wParam) EN_CHANGE) {
nNbLignes = SendMessage(hWndEdit,EM_GETLINECOUNT,0,0);
if ((nNbLignes==1)&& (SendMessage(hWndEdit,EM_LINELENGTH,0,0)==0))nNbLignes=0;