Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: @XSStringManolo en 11 Junio 2019, 07:15 am



Título: Ayuda creando input box y obteniendo input en un string. Windows Api.
Publicado por: @XSStringManolo en 11 Junio 2019, 07:15 am
Probe de bastantes formas y no lo consigo ni encuentro ejemplos. La ventana textbox va a ser hija de otra ventana. De momento la puse así para ver si la conseguí hacer funcionar pero no hay manera. El programa compila. Asique si no te compila puede que yo tenga algún fallo al escribir el código, porque lo acabo de copiar a mano con el móvil mirando por lo que tengo hecho en el pc.
Lo que quiero es que la ventana me permita escribirle dentro texto. Despues le pondré un boton para enviar el texto. Lo he intentado así pero no funciona. Despues quiero obtener el input del usuario y guardarlo en un string para trabajar con él. De momento tengo esto:

Código
  1. #include <windows.h>
  2.  
  3. const char NombreDeClase[] = "LaClaseDeMiVentana";
  4.  
  5. LRESULT CALLBACK Ventana(HWND hVentana, UINT mensajeVentana, WPARAM wParam, LPARAM lParam)
  6. {
  7.   switch (mensajeVentana)
  8.   {
  9.         case WM_LBUTTONDOWN:
  10.         {
  11.          \\Me gustaria poder escribir en la ventana. No sé como.
  12.         } break;
  13.  
  14.         case WM_CLOSE:
  15.         {
  16.         DestroyWindow(hVentana);
  17.         } break;
  18.  
  19.        case WM_DESTROY:
  20.        {
  21.         PostQuitMessage(0);
  22.        } break;
  23.  
  24.        default:
  25.        {
  26.        return DefWindowProc(hVentana, mensajeVentana, wParam, lParam);
  27.        } break;
  28.   }
  29. return 0;
  30. }
  31.  
  32. int WINAPI WinMain(HINSTANCE h_instancia, HINSTANCE h_sinUso, LPSTR p_cmd, int n_CmdShow)
  33. {
  34. WNDCLASSEX ClaseVentana;
  35. HWND hVentana;
  36. MSG MensajeVentana;
  37.  
  38. ClaseVentana.cbSize = sizeof(WNDCLASSEX);
  39. ClaseVentana.style = 0;
  40. ClaseVentana.lpfnWndProc = Ventana;
  41. ClaseVentana.cbClsExtra= 0;
  42. ClaseVentana.cbWndExtra = 0;
  43. ClaseVentana.hInstance = h_instancia;
  44. ClaseVentana.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  45. ClaseVentana.hCursor = LoadCursor(NULL, IDC_ARROW);
  46. ClaseVentana.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
  47. ClaseVentana.lpszMenuName = NULL;
  48. ClaseVentana.lpszClassName = NombreDeClase;
  49. ClaseVentana.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
  50.  
  51.   if ( !RegisterClassEx(&ClaseVentana) )
  52.   {
  53.   MessageBox(NULL, "Error Al Registrar \"ClaseVentana\"", "ERROR", MB_ICONEXCLAMATION | MB_OK);
  54.   return 0;
  55.   }
  56.  
  57. char* linea;
  58.  
  59. hVentana = CreateWindowEx(
  60. WS_EX_CLIENTEDGE,
  61. NombreDeClase,
  62. "Titulo textbox",
  63. WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_LEFT,
  64. CW_USEDEFAULT, CW_USEDEFAULT, 200, 48,
  65. NULL. NULL. h_instancia, NULL);
  66.  
  67. char szInput[MAX_PATH];
  68.  
  69. GetDlgItemText(hVentana,123, linea, 100);
  70. GetWindowText(GetDlgItem(hVentana, 101), szInput, MAX_PATH);
  71.  
  72.  if (hVentana == NULL)
  73.   {
  74.   MessageBox(NULL, "Error Al Crear La Ventana", "ERROR", MB_ICONEXCLAMATION | MB_OK);
  75.   return 0;
  76.   }
  77.  
  78. ShowWindow(hVentana, n_CmdShow),
  79. UpdateWindow(hVentana);
  80.  
  81.   while ( GetMessage(&MensajeVentana, NULL, 0, 0) > 0 )
  82.   {
  83.    TranslateMessage(&MensajeVentana);
  84.    DispatchMessage(&MensajeVentana);
  85.    }
  86.  
  87. return MensajeVentana.wParam;
  88. }


Título: Re: Ayuda creando input box y obteniendo input en un string. Windows Api.
Publicado por: Eternal Idol en 11 Junio 2019, 09:55 am
Tenes que crear un edit:
https://docs.microsoft.com/en-us/windows/desktop/Controls/edit-controls (https://docs.microsoft.com/en-us/windows/desktop/Controls/edit-controls).


Título: Re: Ayuda creando input box y obteniendo input en un string. Windows Api.
Publicado por: @XSStringManolo en 11 Junio 2019, 10:05 am
Joer, pues mira que me maté a buscar!
Muchísimas gracias!



Título: Re: Ayuda creando input box y obteniendo input en un string. Windows Api.
Publicado por: Eternal Idol en 11 Junio 2019, 10:29 am
De nada.