begin process at 2012 05 29 10:39:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

edit multilignes afficher le nb de ligne visibles


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

edit multilignes afficher le nb de ligne visibles

lundi 17 novembre 2008 à 13:28:01 | edit multilignes afficher le nb de ligne visibles

babyboo1107

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;}
                        }


                        wsprintf(tampon,"%s : %d Ligne(s)",szProgName,lgVisible);
                        SetWindowText(hWnd,tampon);
                        return 0;
      }
      break;       
        

Je vous remercie infiniment de votre aide

Babyboo
lundi 17 novembre 2008 à 19:21:04 | Re : edit multilignes afficher le nb de ligne visibles

BruNews

Administrateur CodeS-SourceS
lgVisible, tu le mets à 0 avant la boucle ???

for(k = 0; k < nbLignes; k++) ...

ciao...
BruNews, MVP VC++
mardi 18 novembre 2008 à 11:43:30 | Re : edit multilignes afficher le nb de ligne visibles

babyboo1107

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

Babyboo
jeudi 20 novembre 2008 à 17:03:12 | Re : edit multilignes afficher le nb de ligne visibles

babyboo1107

Réponse acceptée !
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;

              }


                        wsprintf(tampon,"%s : %d ",szProgName,nNbLignes);
                        SetWindowText(hWnd,tampon);
                        return 0;

      break;                                // les autres WM_COMMAND non traités
    case WM_CLOSE :
      if (SendMessage( hWndEdit,EM_GETMODIFY, 0, 0)){
      if(MessageBox(hWnd,
                    "Sûr de vouloir quitter ?",
                    szProgName,
                    MB_ICONQUESTION |
                    MB_OKCANCEL
                   ) == IDOK)
        DestroyWindow(hWnd);
       }
        else{DestroyWindow(hWnd);}
      return 0;                             // message traité
    case WM_DESTROY :                       // fenêtre en passe d'être détruite
      PostQuitMessage(0);                   // envoie WM_QUIT
      return 0;                             // message traité
  }
  // tous les messages non pris en charge
  return( DefWindowProc(hWnd, nMsg, wParam, lParam) );
}
Babyboo
jeudi 20 novembre 2008 à 17:03:14 | Re : edit multilignes afficher le nb de ligne visibles

babyboo1107

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;

              }


                        wsprintf(tampon,"%s : %d ",szProgName,nNbLignes);
                        SetWindowText(hWnd,tampon);
                        return 0;

      break;                                // les autres WM_COMMAND non traités
    case WM_CLOSE :
      if (SendMessage( hWndEdit,EM_GETMODIFY, 0, 0)){
      if(MessageBox(hWnd,
                    "Sûr de vouloir quitter ?",
                    szProgName,
                    MB_ICONQUESTION |
                    MB_OKCANCEL
                   ) == IDOK)
        DestroyWindow(hWnd);
       }
        else{DestroyWindow(hWnd);}
      return 0;                             // message traité
    case WM_DESTROY :                       // fenêtre en passe d'être détruite
      PostQuitMessage(0);                   // envoie WM_QUIT
      return 0;                             // message traité
  }
  // tous les messages non pris en charge
  return( DefWindowProc(hWnd, nMsg, wParam, lParam) );
}
Babyboo


Cette discussion est classée dans : ligne, afficher, edit, nb, hwndedit


Répondre à ce message

Sujets en rapport avec ce message

Afficher le resultat d'une procedure ds un edit box [ par pipic ] comment faire pour afficher le resultat d'une procedure (void) ds un edit box ss visual c++ avec l'assistant MFC??pipic fichier textedans edit box [ par rodrigos ] Bonjour, je suis nouveau dans la programmation c++, et j'aimerai savoir comment afficher un fichier texte dans un dialog box.j'utilise cette fonctionS EDIT BOX [ par Djoobstil ] Bonjour,J'aimerais récuperer le contenu d'une EditBox, ligne par ligne, comme la lecture d'un fichier. C'est possible ?En API W32 si possible sinon MF [C] lignes d'un fichier dans un tableau : Segmentation fault [ par Michel76 ] Bonjour,Pardonnez-moi de cette question de débutant.Soit un fichier contenant :-----001002-----Je souhaiterais mettre chacune des lignes de ce fichier Fichier texte dans edit box [ par revelata ] Bonjour,je cherche à afficher un fichier texte dans une editbox.En fait c'est pour une charte accepter refuser, le problème c'est que je n'arrive pas problème de lecture de .txt pour l'afficher dans un edit à base de DDX text [ par gengis69 ] je cherche à afficher un fichier texte dans un edit à base de DDX_text et je n'y arrive pas, il y a quelqu'un qui sait comment faire??? SetDlgItemText pb! [ par toki127 ] Bonjour!bien qu il y ait deja qques posts sur cet API, impossible d afficher ce que je veu ds mon edit...dans une boucle for (i=1;ilorsqu un calcul es Ajout ligne Edit Box [ par Hades53 ] Salut,j'aimerais savoir s'il existe un fonction pour ajouter une ligne avec texte dans une edit box.Ya bien GetWindowText et SetWindowText mais ca bug Afficher une petite animation en mode console.... [ par Clonk ] Bonjor,j'avais déjà posté cette question il y a quelques jours, mais elle doit déjà être oubliée dans les tréfonds du site ^_^Alors voilà, j'ai un tra texture plane [ par azkab ] bonjour,bon j ai un petit souci, j ai les coordonnées x,y d une ligne et je veux lui affecter une texture, sauf que cette texture doit s afficher hori


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,781 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales