[Código-GUI] Posicionar Cursor - JaAViEr

  • 0 Respuestas
  • 2160 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python

[Código-GUI] Posicionar Cursor - JaAViEr

  • en: Julio 17, 2011, 05:40:06 am
Sigo con esto del entorno gráfico en C/C++ :P
Nos pide Coordenadas X e Y, luego nos posiciona el cursor en ellas:
Código: C++
  1. #include <windows.h>
  2.  
  3. /*  Declare Windows procedure  */
  4. LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  5.  
  6. /*  Make the class name into a global variable  */
  7. char szClassName[ ] = "CodeBlocksWindowsApp";
  8. HINSTANCE programa;
  9. int WINAPI WinMain (HINSTANCE hThisInstance,
  10.                      HINSTANCE hPrevInstance,
  11.                      LPSTR lpszArgument,
  12.                      int nCmdShow)
  13. {
  14.     HWND hwnd;               /* This is the handle for our window */
  15.     MSG messages;            /* Here messages to the application are saved */
  16.     WNDCLASSEX wincl;        /* Data structure for the windowclass */
  17. programa=hThisInstance;
  18.     /* The Window structure */
  19.     wincl.hInstance = hThisInstance;
  20.     wincl.lpszClassName = szClassName;
  21.     wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
  22.     wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
  23.     wincl.cbSize = sizeof (WNDCLASSEX);
  24.  
  25.     /* Use default icon and mouse-pointer */
  26.     wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  27.     wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  28.     wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  29.     wincl.lpszMenuName = NULL;                 /* No menu */
  30.     wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
  31.     wincl.cbWndExtra = 0;                      /* structure or the window instance */
  32.     /* Use Windows's default colour as the background of the window */
  33.     wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
  34.  
  35.     /* Register the window class, and if it fails quit the program */
  36.     if (!RegisterClassEx (&wincl))
  37.         return 0;
  38.  
  39.     /* The class is registered, let's create the program*/
  40.     hwnd = CreateWindowEx (
  41.            0,                   /* Extended possibilites for variation */
  42.            szClassName,         /* Classname */
  43.            "CursorPos::Javier",       /* Title Text */
  44.            WS_OVERLAPPED, /* default window */
  45.            CW_USEDEFAULT,       /* Windows decides the position */
  46.            CW_USEDEFAULT,       /* where the window ends up on the screen */
  47.            300,                 /* The programs width */
  48.            110,                 /* and height in pixels */
  49.            HWND_DESKTOP,        /* The window is a child-window to desktop */
  50.            NULL,                /* No menu */
  51.            hThisInstance,       /* Program Instance handler */
  52.            NULL                 /* No Window Creation data */
  53.            );
  54.  
  55.     /* Make the window visible on the screen */
  56.     ShowWindow (hwnd, nCmdShow);
  57.  
  58.     /* Run the message loop. It will run until GetMessage() returns 0 */
  59.     while (GetMessage (&messages, NULL, 0, 0))
  60.     {
  61.         /* Translate virtual-key messages into character messages */
  62.         TranslateMessage(&messages);
  63.         /* Send message to WindowProcedure */
  64.         DispatchMessage(&messages);
  65.     }
  66.  
  67.     /* The program return-value is 0 - The value that PostQuitMessage() gave */
  68.     return messages.wParam;
  69. }
  70.  
  71.  
  72. /*  This function is called by the Windows function DispatchMessage()  */
  73.  
  74. LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  75. {
  76.     switch (message)                  /* handle the messages */
  77.     {
  78.         char x[5],y[50];
  79.         case WM_CREATE:
  80.         static HWND xpos = CreateWindowEx(WS_ACTIVECAPTION,"Edit", NULL, WS_CHILD|WS_VISIBLE|WS_TABSTOP, 31, 0, 190, 23, hwnd, 0, programa, NULL);
  81.         static HWND xpostext = CreateWindowEx(WS_ACTIVECAPTION,"Static", "X:", WS_CHILD|WS_VISIBLE|WS_TABSTOP, 0, 0, 30, 23, hwnd, 0, programa, NULL);
  82.         static HWND ypostext = CreateWindowEx(WS_ACTIVECAPTION,"Static", "Y:", WS_CHILD|WS_VISIBLE|WS_TABSTOP, 0, 26,30, 23, hwnd, 0, programa, NULL);
  83.         static HWND ypos = CreateWindowEx(WS_ACTIVECAPTION,"Edit", NULL, WS_CHILD|WS_VISIBLE|WS_TABSTOP, 31, 25,190, 24,hwnd, 0, programa, NULL);
  84.         static HWND button = CreateWindowEx(WS_ACTIVECAPTION,"BUTTON", "LISTO!", WS_CHILD|WS_VISIBLE|WS_TABSTOP, 0, 50, 190, 23, hwnd, 0, programa, NULL);
  85.         break;
  86.         case WM_COMMAND:
  87.         if((HWND)lParam==button){
  88.         GetWindowText(xpos,x,300);
  89.         GetWindowText(ypos,y,300);
  90.         if(atof(x)==NULL || atof(y)==NULL){
  91.         MessageBox(hwnd, "Debes especificar Posiciones", "ERROR", MB_OK);
  92.         break;
  93.         }
  94.         SetCursorPos(atof(x),atof(y));
  95.         }
  96.         break;
  97.         case WM_DESTROY:
  98.             PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
  99.             break;
  100.         default:                      /* for messages that we don't deal with */
  101.             return DefWindowProc (hwnd, message, wParam, lParam);
  102.     }
  103.  
  104.     return 0;
  105. }
  106.  
  107.  

Saludos.
« Última modificación: Febrero 08, 2014, 05:46:24 pm por Expermicid »

 

[C] Obtener código fuente de una web [GNU/Linux]

Iniciado por S[e]C

Respuestas: 2
Vistas: 2924
Último mensaje Abril 02, 2010, 02:53:51 pm
por S[e]C
[Código-C++] Decodificador.

Iniciado por JaAViEr

Respuestas: 1
Vistas: 2897
Último mensaje Agosto 10, 2012, 08:35:44 am
por P4|3L0
[Código-GUI] File exists ? - JaAViEr

Iniciado por JaAViEr

Respuestas: 0
Vistas: 2162
Último mensaje Julio 17, 2011, 05:35:59 am
por JaAViEr
[Código-GUI] Cambiar titulo - JaAViEr

Iniciado por JaAViEr

Respuestas: 0
Vistas: 2201
Último mensaje Julio 17, 2011, 05:36:56 am
por JaAViEr