Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/08/2011, 03:48
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Dudas de principiante en Win Api

antes de nada decirte que no se que pasa pero no puedo compilar tu codigo en mi IDE (Visual Studio 2010) por lo que no puedo comprobarlo.


otra cosa, por que lo pones asi
Código C++:
Ver original
  1. LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  2. {
  3.  
  4.  
  5.  
  6.     PAINTSTRUCT ps;
  7.     HDC hdc;
  8.     TCHAR texto [256];   //no sé si esto está bien o tengo que decalararlo como "static char texto [256]"
  9.  
  10.     switch (message)
  11.     {
  12.         case WM_CREATE:
  13.         {
  14.             boton1 = CreateWindow (_T("Button"), _T("Texto"), BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE, 80, 100, 70, 25, hwnd, (HMENU) ID_boton1, estancia, 0);

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á.

###########################################


aqui te falta un break;

Código:
        case WM_COMMAND:
        switch (wParam)
        {
            // Al presionar el boton1 se obtiene lo que hay en el edit1 y se guarda en texto
 
            case ID_boton1:
            GetWindowText(edit1, texto, 255);
            break;
        }
###########################################

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().


Código:
        case WM_COMMAND:
        switch (wParam)
        {
            case ID_boton1:
            GetWindowText(edit1, texto, 255);
            // MOSTAR TEXTO
           break;
        }