Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - FMLTGRD

#1
Hola, gracias por ver el post. Quería ver si alguien me podría explicar como cambiar el texto que esta en un control "STATIC" en c, algo así como un método setText en java.
#2
Programación C/C++ / Re: Problema con strings
6 Diciembre 2014, 05:16 AM
Perfecto, en verdad no sabes cuanto te agradezco tu ayuda, me funcionó muy bien.
#3
Programación C/C++ / Re: Problema con strings
6 Diciembre 2014, 02:35 AM
Muchas gracias, es justo lo que necesitaba, en verdad te lo agradezco.
Por otra parte ¿de pura casualidad no sabrás como el api de windows delimita un string si no es con el caracter nulo?
#4
Programación C/C++ / Re: Problema con strings
6 Diciembre 2014, 00:39 AM
Si, eso lo sé.
El problema es que a pesar de que puedo ingresar los datos, no puedo hacer que el array solo permita una cierta cantidad de caracteres, ya que aunque el tamaño del arreglo es de 5, si escribo más de 5 caracteres estos se guardan en el buffer.

Gracias por tu ayuda.
#5
Programación C/C++ / Problema con strings
5 Diciembre 2014, 23:24 PM
Buenas tardes, tengo un pequeño problema al trabajar con arreglos de caracteres, mi programa tiene un método getText que recibe como parámetro un HWND que debe de corresponder a un control "EDIT". El problema es que no puedo limitar la cantidades de caracteres del arreglo. Si alguien me puede ayudar se lo agradecería mucho.

Les dejo el código de la función:

    TCHAR lpstrBuffer[5] = "....";

void getText(HWND campoTexto){

            HWND campoTexto;
            SendMessage(c, EM_GETLINE, 0, (LPARAM)lpstrBuffer);
            printf("%s\n", lpstrBuffer);

}
#6
Ya puse el codigo como se debe. Muchas gracias. Voy a usar sus recomendaciones y les aviso si me funciona.
#7
Gracias por la recomendación voy a usarlas mas seguido.
¿Por otra parte como puedo evitar que eso pase? ¿Solo tengo que inicializar la variable con cualquier texto?
#8
Hola a todos, estoy haciendo un programa y para eso comencé con las bases que son saber como hacer una ventana, ponerle botones y una caja de texto.
Todo eso lo puedo hacer sin problema. Después para obtener los datos de la caja de texto use el mensaje EM_GETLINE. Esta solución me funciona bastante bien ya que después uso la función printf() para desplegar los datos.

En fin, lo raro es que cuando ejecuto el programa y escribo en la caja de texto: "Hola Mundo" el programa me imprime por pantalla el mensaje pero al final le añade una carita feliz. Si alguien pudiera explicarme este fenómeno y como evitarlo se lo agradecería.

Les dejo aquí un pedazo de código:

LRESULT CALLBACK Procedure(HWND hWindow, UINT message, WPARAM wParam, LPARAM lParam){

   static HWND button, caja;

switch(message){

   case WM_DESTROY:{

PostQuitMessage(0);
return 0;

   }

   case WM_CREATE:{

       button = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "BUTTON", WS_CHILD | WS_VISIBLE, 10, 10, 100, 50, hWindow, NULL, NULL, NULL);
       caja = CreateWindowEx(WS_EX_ACCEPTFILES, "EDIT", "", WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL, 10, 70, 100, 25, hWindow, NULL, NULL, NULL);
           break;

   }

   case WM_COMMAND:{

           char buffer[512];
           if((HWND)lParam == button){
               [b]SendMessage(caja, EM_GETLINE, 0, (LPARAM)buffer);
               printf("%d \n", strlen(buffer));
               printf("%s\n", buffer);[/b]
               return 0;
           }
       break;

   }

}

return DefWindowProc(hWindow, message, wParam, lParam);

}
#9
Estoy haciendo un programa que necesita tomar los datos que el usuario inserte en una caja de texto.
  Hasta ahora he podido hacer la ventana, ponerle botones y la caja de texto. Lo único que me falta es un método que lea los datos del control "EDIT". Si alguien me pudiera ayudar en verdad se lo agradecería.
#10
Muchas Gracias por sus respuestas, ya resolví el problema y me ayudaron de mucho.