Cita: y no como te dije? CreateWindowEx antes del switch y SendMessage( boton1, WM_SETFONT, (WPARAM) hFont, true); dentro del case CREATE;
es por curiosidad, por que no se que diferencia habrá.
No te lo comenté, pero al usar varios botones y edit simultáneamente me fallan los compiladores (en algunos me pone "no compilado" sin mostrar ningún error y en otros se queda pillado directamente), por tanto probé con los datos que me diste pero metiéndolo en el WM_CREATE todo ya que, razonando, no estoy declarando el botón/edit sino creándolo (definiéndolo) y eso va dentro del create según pone en el ejemplo del último comentario de esta página
http://www.cplusplus.com/forum/windows/3933/ Cita: respecto a tu pregunta:
estas ordenando que muestre por pantalla el texto dentro del case PAINT: es decir te lo va a mostrar nada mas arrancar el programa. y como no le has dado al boton1 para que coja el texto del Edit1 no hay texto que mostrar.
lo que tienes que hacer es mostrar el texto al apretar el boton1 y despues de cogerlo con el GetWindowText().
Muchas gracias, ¿entonces lo del GetWindoText() lo tengo bien?, es decir, guarda el número/texto introducido en la variable ¿cierto?; por lo tanto lo que está mal es la impresión del texto en pantalla como me has comentado. Ahora mismo no puedo probarlo pero ¿sería de esta forma o el TextOut solo va dentro de WM_PAINT?:
Código C++:
Ver originalcase WM_COMMAND:
switch (wParam)
{
case ID_boton1:
GetWindowText(edit1, texto, 255);
//Imprimir en pantalla
hdc = BeginPaint(hwnd, &ps);
TextOut(hdc, 200, 200, texto, _tcslen(texto));
EndPaint(hwnd, &ps);
break;
}
Si el TextOut() solo funciona dentro del WM_PAINT ¿qué función debería usar al querer imprimir en pantalla desde WM_COMMAND?...
Saludos.