[winApi] SendMessage WM_SETTEXT dokleja znaki?

0
       case WM_CREATE:
             {
             h_but2=CreateWindowEx(0,"BUTTON", "Wyznacz", WS_CHILD|WS_VISIBLE|SS_LEFT, 510, 390, 100, 30, hwnd, NULL, hThisInst, NULL);
             h_but3=CreateWindow("STATIC","Wynik", WS_CHILD|WS_VISIBLE|SS_LEFT, 620, 390, 100, 30, hwnd, NULL, hThisInst, NULL);
             h_edit1=CreateWindowEx(0,"EDIT", 0, WS_CHILD|WS_VISIBLE|WS_BORDER, 400, 390, 100, 30, hwnd, 0, hThisInst, 0);
             h_edit2=CreateWindowEx(0,"EDIT", 0, WS_CHILD|WS_VISIBLE|WS_BORDER, 290, 390, 100, 30, hwnd, 0, hThisInst, 0);
             }


        case WM_COMMAND:
        {
             if(HWND(lParam)==h_but2)
             {
                char txt1[256];
                char txt2[256];
                GetWindowText(h_edit1, txt2, 255);
                GetWindowText(h_edit2, txt1, 255); 
                int x=atoi(txt1);
                int x2=atoi(txt2);
                
                char txt3[256];
                g.Przystanki();
                g.Create();
                g.Shortest_path(x,x2);
                strcpy( txt3, (g.abc_).c_str() );
                SendMessage(h_but3,WM_SETTEXT,0,LPARAM(txt3));
             }

mam pewien problem otóż w h_but3 powinien się zmieniać wyświetlany tekst w zależności od h_edit1 i h_edit2, niestety zamiast zamieniania dopisywany jest ciąg znakowy, czyli jak dla edit1=1 i edit2=4 h_but2=3 to po wciśnięciu dwukrotnie buttona dopisuje mi się w h_but2 kolejna 3, zamiast po prostu zamieniać za poprzednią, to właśnie dopisuje i nie bardzo wiem jak zrobić żeby była podmieniana, próbowałem z SetWindowText i jest taki sam efekt, liczę na pomoc, pozdrawiam</cpp>

0

Nie rozpedzaj sie. Jezeli GetWindowText dziala Ci poprawnie, to SetWindowText rowniez, a i SendMessage/WM_SETTEXT nie ma powodow wybrykow.

Bledu szukaj w metodach:
przystanki
create
shortest_path
i ich obsludze pola abc_

blad na pewno jest tam.

0

racja błąd był przy abc_ po prostu tego stringa nie czyściłem i ciągle dopisywałem do niego znaki:)

dopiero zaczynam się bawić w winapi stąd od razu zrzuciłem winę na coś co dopiero poznaje:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1