Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Obtener el monto menor dariodr COBOL - General 2 12 de abril de 2023 23:05
[PowerCOBOL + WinAPI] Obtener la version de SO Windows Kuk Cocina PowerCOBOL 3 6 de junio de 2018 05:22
[Sintaxis] Obtener version de Windows en ejecución Hector PowerCOBOL (ActiveX, v4 - v11) 1 4 de mayo de 2018 22:35
[Sintaxis] Obtener el Directorio de la aplicación Eslopes PowerCOBOL v3 (V3L10, Win32) 2 21 de junio de 2016 15:26
[Sintaxis] Obtener una ruta en Red Roger PowerCOBOL (ActiveX, v4 - v11) 16 1 de mayo de 2015 22:40

Respuesta
 
Herramientas

  #1
Antiguo 21 de diciembre de 2015, 21:53
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Obtener el Handle (HWND) de un control
2 Inactivo Inactivo

No es muy difícil obtener el Handle en PowerCOBOL v3:

Código COBOL:
  1.  ENVIRONMENT DIVISION.
  2.  DATA        DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  WS-HWND-P         PIC S9(9) COMP-5.
  5.  01  WS-HWND-C         PIC S9(9) COMP-5.
  6.  
  7.  PROCEDURE   DIVISION.
  8.      
  9.      CALL "GetActiveWindow" WITH STDCALL
  10.      
  11.      MOVE PROGRAM-STATUS TO WS-HWND-P
  12.      
  13.      CALL "GetDlgItem" WITH STDCALL USING BY VALUE WS-HWND-P
  14.                                           BY VALUE 1. *> Id orden del control
  15.      
  16.      MOVE PROGRAM-STATUS TO WS-HWND-C

Si queremos buscar antes el control por su texto, hacemos:

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  WS-TEXTO          PIC X(50).
  3.  01  WS-HWND-P         PIC S9(9) COMP-5.
  4.  01  WS-ID             PIC S9(9) COMP-5.
  5.  PROCEDURE   DIVISION.
  6.      CALL "GetDlgItemTextA" WITH STDCALL USING BY VALUE WS-HWND-P    
  7.                                                BY VALUE WS-ID      
  8.                                                BY REFERENCE WS-TEXTO
  9.                                                BY VALUE 50          

Donde WS-ID es el orden del control (1, 2, 3 etc.) y obtenemos su texto en WS-TEXTO. Cuidado que viene un con X"00" al final (si no me equivoco).



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:55.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.