Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/08/2011, 10:05
Anonimo12
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Dudas de principiante en Win Api

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 original
  1. case WM_COMMAND:
  2.         switch (wParam)
  3.         {
  4.             case ID_boton1:
  5.             GetWindowText(edit1, texto, 255);
  6.            
  7.             //Imprimir en pantalla
  8.             hdc = BeginPaint(hwnd, &ps);
  9.             TextOut(hdc, 200, 200, texto, _tcslen(texto));
  10.             EndPaint(hwnd, &ps);
  11.            break;
  12.         }

Si el TextOut() solo funciona dentro del WM_PAINT ¿qué función debería usar al querer imprimir en pantalla desde WM_COMMAND?...

Saludos.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...

Última edición por Anonimo12; 31/08/2011 a las 10:23