Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Cocina Casera > Cocina PowerCOBOL + WinAPI
Cocina PowerCOBOL + WinAPI Código WinAPI en PowerCOBOL
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Compilador] Compilador recomendable para Window 7 x86 Matias COBOL - General 2 12 de julio de 2016 00:07
[Sintaxis] Propiedad "Bring to front" Roger PowerCOBOL (ActiveX, v4 - v11) 1 21 de marzo de 2015 22:20
Respuesta
 
Herramientas

  #1
Antiguo 13 de abril de 2015, 22:06
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
UbicaciónPorto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 215
Mejores respuestasSoluiones: 47
Medallas recibidas: 2Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ReputaciónReputación: 13
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Capas Bring Window to Top (By Name)

Rotina para trazer qualquer window para 1º plano.
Tive que fazer esta rotina, pois quando imprimia para PDF ou exportava para Excel, ficava apenas a indicação na barra em baixo a piscar e tinha que fazer um click com o rato para abrir.

Código COBOL:
  1.  @OPTIONS NOALPHA
  2.  IDENTIFICATION DIVISION.
  3.  PROGRAM-ID.   WINDOWONTOP.
  4.  ENVIRONMENT DIVISION.
  5.  CONFIGURATION SECTION.
  6.  REPOSITORY.
  7.  DATA DIVISION.
  8.  WORKING-STORAGE SECTION.
  9.  01  OLE-TRUE                       PIC 1(1)  BIT VALUE B"1".                
  10.  01  FILLER                         PIC 1(7)  BIT.                          
  11.  01  OLE-FALSE                      PIC 1(1)  BIT VALUE B"0".                
  12.  01  FILLER                         PIC 1(7)  BIT.                          
  13.  01  S-INDEX                        PIC S9(4) COMP-5 VALUE 0.                
  14.  01  CONTALOOP                      PIC S9(9) COMP-5.                
  15.  01  MILISECONDS                    PIC S9(9) COMP-5 VALUE 0.
  16.  01  WINDOWCLASSE                   BINARY-LONG VALUE ZERO.
  17.  01  HWND                     BINARY-LONG.
  18.  01  SECONDS                        PIC S9(9) COMP-5.                
  19.  LINKAGE SECTION.
  20.  01  WINDOWNAME                     PIC X(064).
  21.  PROCEDURE DIVISION USING  WINDOWNAME.
  22.  MAIN SECTION.                                                              
  23.  MAIN-00.  
  24.      IF WINDOWNAME = SPACE GO TO MAIN-99.
  25.      MOVE 40 TO SECONDS.
  26.        COMPUTE S-INDEX = FUNCTION STORED-CHAR-LENGTH(WINDOWNAME).
  27.      ADD 1 TO S-INDEX.    
  28.      MOVE X"00"        TO WINDOWNAME(S-INDEX:1).
  29. *    DISPLAY WINDOWNAME. STOP " ".
  30.      MOVE ZERO TO CONTALOOP.
  31. *
  32.  MAIN-10.
  33.      CALL "FindWindowA" WITH STDCALL USING
  34.                            BY VALUE WINDOWCLASSE
  35.                            BY REFERENCE WINDOWNAME  
  36.                         RETURNING HWND.
  37.      IF HWND > 0 GO TO MAIN-20.
  38.      IF CONTALOOP > SECONDS GO TO MAIN-99.
  39.      MOVE 500 TO MILISECONDS.
  40.      CALL "Sleep"        WITH STDCALL USING
  41.                             BY VALUE MILISECONDS.
  42.      ADD 1 TO CONTALOOP.
  43.      GO TO MAIN-10.
  44.  MAIN-20.
  45.      CALL "SetForegroundWindow" WITH STDCALL USING
  46.                            BY VALUE HWND.
  47. *
  48.  MAIN-99.
  49.  END PROGRAM WINDOWONTOP.  

Basta passar o nome correto da "Window" e esta fica em primeiro plano sobre todas as outras.
A utilização de "Sleep" tem a ver com o tempo de criação do PDF ou da Folha de Excel.
Espero que sirva para alguém.

Saludos,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 2
Eslopes (24 de enero de 2016), Kuk (14 de abril de 2015)
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

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



La franja horaria es GMT +1. Ahora son las 07:15.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.