Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme d'EditBox [ Windows / GUI ] (SergentP)

lundi 30 juin 2008 à 18:54:27 | Probleme d'EditBox

SergentP

Salut,
J'ai créer une fenêtre avec un edit box et je cherche à le redimensionner lorsque un WM_SIZING est envoyé, pour cela jutilise SetWindowPos comme ceci :

SetWindowPos( EditText_Bas, 0,
                     RectWindow.left,   // Position de départ
                     RectWindow.top,    // ...
                     RectWindow.right, // ...
                     RectWindow.bottom - Diff.bottom, 0); // Position de départ - la différence apres le WM_SIZING

La compilation se passe bien mais lorsque je redimentione l'edit box disparait.
Je n'arrive pas à trouver de réponse à ce probleme donc j'espere trouver une solution de votre par.
Merci d'avance.

lundi 30 juin 2008 à 19:10:10 | Re : Probleme d'EditBox

Neo_Fr

Membre Club
Salut,
Essaye ca: InvalidateRect(EditText_Bas, 0, 1);

Neo_Fr

mardi 1 juillet 2008 à 11:23:52 | Re : Probleme d'EditBox

SergentP

Non, ça ne marche pas, l'edit disparait toujours.

mardi 1 juillet 2008 à 15:41:48 | Re : Probleme d'EditBox

aardman

Membre Club
Salut,
Le dernier param de SetWindowPos() c'est les flags, regarde sur msdn les valeurs à mettre à la place de 0.

mardi 1 juillet 2008 à 20:18:00 | Re : Probleme d'EditBox

SergentP

Pas moyen j'ai essayé plusieurs flags mais la fenetre disparait toujours, j'ai donc essayé de mettre des coordonées au hazard et la la fenetre ne disparaisait pas donc je supose que ca vien de la maniere d'ont je passe les coordonées.

lundi 7 juillet 2008 à 15:04:51 | Re : Probleme d'EditBox

lol55

Salut SergentP,

Pour redimensionner un  EditBox, j'utiliserai le message EM_SETRECT qui permet comme tu peux le lire dans la description des paramètres à passer, de modifier ses dimensions :
lParam
A pointer to a RECT structure that specifies the new dimensions of the rectangle. If this parameter is NULL, the formatting rectangle is set to its default values.
Voici le page, sur la MSDN : http://msdn.microsoft.com/en-us/library/bb761657(VS.85).aspx
(Pour déclarer ton nouveau RECT => http://msdn.microsoft.com/en-us/library/ms536136.aspx)
Donc en faisant :

RECT rRect;
rRect.top = ...
... // Tu déclares les dimensions (top, bottom, left et right)
SendMessage(hHandleTonEditBox, EM_SETRECT, 0, rRect);

Dans la page de la MSDN, tu peux trouver des choses intéressantes comme dans la remarque :
    The EM_SETRECT message causes the text of the edit control to be redrawn. To change the size of the formatting rectangle without     redrawing the text, use the EM_SETRECTNP message.

Si cela ne fonctionne pas, tu peux essayer de voir avec le message EM_SETMARGINS (http://msdn.microsoft.com/en-us/library/bb761649(VS.85).aspx)

Voilà si tu as encore besoin d'aide n'hésite pas !

lundi 7 juillet 2008 à 16:06:55 | Re : Probleme d'EditBox

SergentP

Et bien écoute je te remercie pour ta réponse je vais aller tester ca !


lundi 7 juillet 2008 à 16:36:37 | Re : Probleme d'EditBox

SergentP

j'ai regardé ici : [ Lien ] mais apparament EM_SETRECT c'est pour modifier la zone d'écriture :s.

lundi 7 juillet 2008 à 18:36:58 | Re : Probleme d'EditBox

lol55

Réponse acceptée !
Effectivement cela permet de modifier la zone d'écritue.

Je viens de créer un nouveau projet pour essayer de résoudre ton problème, je te laisse lire attentivement ce code :

case WM_CREATE:
                hEditBox = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD | WS_VISIBLE | ES_LEFT, 15, 15, 120, 25, hFenetre, 0, instance, 0);
                   
            SendMessage(hEditBox, WM_SETTEXT, 0, (LPARAM) "Lyon !");
                hButton = CreateWindow("BUTTON", "Click", WS_CHILD | WS_VISIBLE,
        5, 45, 383, 30, hFenetre, (HMENU) ID_BUTTON, instance, NULL);
            return 0;

        case WM_COMMAND:
            switch(LOWORD(wParam))
            {
                case ID_BUTTON:
                    SetWindowPos(     
                        hEditBox,
                        0,
                        0,
                        0,
                        80,
                        25,
                        SWP_NOMOVE
                    );
                    break;
            }
            return 0;

Lorsque je clique sur le bouton Click, les dimensions de l'EditBox sont bien modifiées, la fonction SetWindowPos fonctionne donc bien.
Je relis ton premier post et je vois les paramtres que tu utilises :

SetWindowPos( EditText_Bas, 0,
                     RectWindow.left,   // Position de départ
                     RectWindow.top,    // ...
                     RectWindow.right, // ...
                     RectWindow.bottom - Diff.bottom, 0); // Position de départ - la différence apres le WM_SIZING

Je pense donc que ton problème viens simplement des paramètres de dimensions que tu utilises, il doit peut-être y en avoir des négatives... ce qui fais que ton EditBox n'est plus affichée, ce qui est normal !
Montre moi ton code source dans un fichier .cpp; j'essaierais de corriger ton problème en utilisant les bons paramètres.

lol55



lundi 7 juillet 2008 à 19:37:02 | Re : Probleme d'EditBox

SergentP

En fait oui cela venait des parametres de dimentions et pensse que c'est à cause du RECT car il a pour parametre      : left, top, right, bottom
et SetWindowPos ou MoveWindow : left, top, width, height
Ce qui créer des problemes.


1 2

Cette discussion est classé dans : probleme, box, edit, editbox, rectwindow


Répondre à ce message

Sujets en rapport avec ce message

couleur de fond d'une editbox [ par melkiorlenecrarque ] salut kan je coche la case read-only d'une edit box, L devi1 griée!pe ton chanG la couleur de fon d'une edit box?G essayé SetColor() mé lé parametre m cin et les editbox [ par BrandeBouque ] Bonjour,j'en suis à moitié sûr, mais cin est il utilisable dans une edit box ?D'après ce que j'ai lu je dirais non, j'attends vos avis ...Si cin ne ma edit box slider [ par thepat2 ] Bonjour,J ai une editbox et un slider. Lorsque la position du slider (HScroll) est changee l editbox prend la nouvelle valeur.J aimerais maintenant qu Changer Type d'une edit box [ par Andejen ] Bonjour,Je souhaiterai afficher via une EditBox certaines variables ne correspondant pas aux types génériques.En effet j'utilise un type tout au long Edit Box [ par iMouss ] Salut tout le mondeJ'ai une edit box contenant une variable membre : m_var de type CStringj'aimerais que lors de la saisie de l'utilisateur, il sa fas Edit_box et la touche Enter [ par by_rabbit_08 ] Bonjour!Je sais que cette question a été posée plusieurs fois, mais pas exactement comme je l'aimerais, et malgré tout ce que j'ai lu, je n'arrive pas Edit Box ou CEdit, comment modifier les fontes, etc.. [ par mouloudh ] Bonjour la communauté !Pour ceux qui me reconnaitront, merci beaucoup pour leurs aide !Je travaille toujours sur le même projet, cad un CDialog.J'ai i Probleme de editbox pour chat en reseau [ par jean84 ] ecrire dans un edit box en MFC [ par eklouste ] Slt a tous En fait j'ai cree une boite de dialogue avec MFC application ainsi qu'un edit control dans la boite de dialogue. J'aimerais savoir comment WIN32 Edit box avec le style ES_NUMBER [ par Pistol_Pete ] Bonjour à tous,J'ai un Edit box qui possède le style ES_NUMBER.J'aimerai, lorsque j'entre des chiffres, qu'il m'affiche un espace symbolisant  les mil


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.