In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Incrustar notepad en un control
-
- Mensajes: 121
- Registrado: Vie Abr 10, 2009 11:02 pm
Incrustar notepad en un control
Hola,
Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
por ejemplo un TBevel.
Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
en VB con el Api de windows, pero en xailer nada me va como dicen los
ejemplos.
¿Alguien me puede echar un cable de por donde van los tiros?
Da igual el notepad o cualquier otra aplicación ejecutable.
Un Saludo,
Joaquín Martínez
Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
por ejemplo un TBevel.
Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
en VB con el Api de windows, pero en xailer nada me va como dicen los
ejemplos.
¿Alguien me puede echar un cable de por donde van los tiros?
Da igual el notepad o cualquier otra aplicación ejecutable.
Un Saludo,
Joaquín Martínez
Un Saludo,
Joaquín Martínez
Joaquín Martínez
Incrustar notepad en un control
Joaquin:
No seria mas facil meter un TRichEdit?
terminas antes y tienes un editor tipo Word nativo
Saludos
Rene Flores
http://www.ciber-tec.com
El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
> Hola,
>
> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
> por ejemplo un TBevel.
>
> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>
> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
> en VB con el Api de windows, pero en xailer nada me va como dicen los
> ejemplos.
>
> ¿Alguien me puede echar un cable de por donde van los tiros?
>
> Da igual el notepad o cualquier otra aplicación ejecutable.
>
> Un Saludo,
> Joaquín Martínez
No seria mas facil meter un TRichEdit?
terminas antes y tienes un editor tipo Word nativo
Saludos
Rene Flores
http://www.ciber-tec.com
El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
> Hola,
>
> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
> por ejemplo un TBevel.
>
> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>
> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
> en VB con el Api de windows, pero en xailer nada me va como dicen los
> ejemplos.
>
> ¿Alguien me puede echar un cable de por donde van los tiros?
>
> Da igual el notepad o cualquier otra aplicación ejecutable.
>
> Un Saludo,
> Joaquín Martínez
-
- Mensajes: 121
- Registrado: Vie Abr 10, 2009 11:02 pm
Incrustar notepad en un control
Hola René,
He puesto el Notepad como ejemplo, pero realmente me refería
ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
Lo he conseguido incrustar a "pelo" en un bevel heredando de la
Tcontrol de Xailer, pero inexplicablemente el notepad funciona
bien, pero el Wordpad en cambio, al moverte por los Tedits
con el Tabulador, al llegar al Wordpad da un GPF impresionante.
De ahí venía la pregunta, si los que conocen Xailer más a fondo,
pudieran indicar una pequeñísima muestra de si se pude hacer sin
problemas o con Xailer no se puede con garantías.
He visto ejemplos en VB que parece que funcionan bien.
Un Saludo y gracias,
Joaquín
El 29/07/10 3:05, René Flores <"rflores escribió:
> Joaquin:
>
> No seria mas facil meter un TRichEdit?
> terminas antes y tienes un editor tipo Word nativo
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
>
> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>> Hola,
>>
>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>> por ejemplo un TBevel.
>>
>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>
>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>> ejemplos.
>>
>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>
>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>
>> Un Saludo,
>> Joaquín Martínez
>
He puesto el Notepad como ejemplo, pero realmente me refería
ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
Lo he conseguido incrustar a "pelo" en un bevel heredando de la
Tcontrol de Xailer, pero inexplicablemente el notepad funciona
bien, pero el Wordpad en cambio, al moverte por los Tedits
con el Tabulador, al llegar al Wordpad da un GPF impresionante.
De ahí venía la pregunta, si los que conocen Xailer más a fondo,
pudieran indicar una pequeñísima muestra de si se pude hacer sin
problemas o con Xailer no se puede con garantías.
He visto ejemplos en VB que parece que funcionan bien.
Un Saludo y gracias,
Joaquín
El 29/07/10 3:05, René Flores <"rflores escribió:
> Joaquin:
>
> No seria mas facil meter un TRichEdit?
> terminas antes y tienes un editor tipo Word nativo
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
>
> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>> Hola,
>>
>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>> por ejemplo un TBevel.
>>
>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>
>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>> ejemplos.
>>
>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>
>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>
>> Un Saludo,
>> Joaquín Martínez
>
Un Saludo,
Joaquín Martínez
Joaquín Martínez
- ignacio
- Site Admin
- Mensajes: 9443
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Incrustar notepad en un control
Joaquin,
Lo que está haciendo no tiene mucho sentido. Los programas ejecutables no
está concebidos para ser utilizados dentro de otra ventana que no sea el
propio escritorio. El GPF que se produce, seguramente que no lo produce
Xailer, si no más bien la propia aplicación que intenta incrustar.
Un saludo
""Joaquín Martínez."" <buzonjmartial@gmail.com> escribió en el mensaje de
noticias:4c51253b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Hola René,
>
> He puesto el Notepad como ejemplo, pero realmente me refería
> ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
>
> Lo he conseguido incrustar a "pelo" en un bevel heredando de la
> Tcontrol de Xailer, pero inexplicablemente el notepad funciona
> bien, pero el Wordpad en cambio, al moverte por los Tedits
> con el Tabulador, al llegar al Wordpad da un GPF impresionante.
>
> De ahí venía la pregunta, si los que conocen Xailer más a fondo,
> pudieran indicar una pequeñísima muestra de si se pude hacer sin
> problemas o con Xailer no se puede con garantías.
>
> He visto ejemplos en VB que parece que funcionan bien.
>
> Un Saludo y gracias,
> Joaquín
>
>
>
>
> El 29/07/10 3:05, René Flores <"rflores escribió:
>> Joaquin:
>>
>> No seria mas facil meter un TRichEdit?
>> terminas antes y tienes un editor tipo Word nativo
>>
>> Saludos
>>
>> Rene Flores
>> http://www.ciber-tec.com
>>
>> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>>> Hola,
>>>
>>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>>> por ejemplo un TBevel.
>>>
>>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>>
>>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>>> ejemplos.
>>>
>>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>>
>>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>>
>>> Un Saludo,
>>> Joaquín Martínez
>>
>
Lo que está haciendo no tiene mucho sentido. Los programas ejecutables no
está concebidos para ser utilizados dentro de otra ventana que no sea el
propio escritorio. El GPF que se produce, seguramente que no lo produce
Xailer, si no más bien la propia aplicación que intenta incrustar.
Un saludo
""Joaquín Martínez."" <buzonjmartial@gmail.com> escribió en el mensaje de
noticias:4c51253b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Hola René,
>
> He puesto el Notepad como ejemplo, pero realmente me refería
> ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
>
> Lo he conseguido incrustar a "pelo" en un bevel heredando de la
> Tcontrol de Xailer, pero inexplicablemente el notepad funciona
> bien, pero el Wordpad en cambio, al moverte por los Tedits
> con el Tabulador, al llegar al Wordpad da un GPF impresionante.
>
> De ahí venía la pregunta, si los que conocen Xailer más a fondo,
> pudieran indicar una pequeñísima muestra de si se pude hacer sin
> problemas o con Xailer no se puede con garantías.
>
> He visto ejemplos en VB que parece que funcionan bien.
>
> Un Saludo y gracias,
> Joaquín
>
>
>
>
> El 29/07/10 3:05, René Flores <"rflores escribió:
>> Joaquin:
>>
>> No seria mas facil meter un TRichEdit?
>> terminas antes y tienes un editor tipo Word nativo
>>
>> Saludos
>>
>> Rene Flores
>> http://www.ciber-tec.com
>>
>> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>>> Hola,
>>>
>>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>>> por ejemplo un TBevel.
>>>
>>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>>
>>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>>> ejemplos.
>>>
>>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>>
>>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>>
>>> Un Saludo,
>>> Joaquín Martínez
>>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 121
- Registrado: Vie Abr 10, 2009 11:02 pm
Incrustar notepad en un control
Ignacio,
he adjuntado una imágen, el problema parece estar en intentar dar el
foco al wordpad, pero a partir de ahí me pierdo.
Si se pudiera anular que gonextcontrol() intentara posicionarse en ese
control, debería funcionar.
He probado ltabstop a .F. y también falla, sin embargo, con el notepad
no falla y aparte, el foco vuelve correctamente al botón del Form.
Un Saludo,
Joaquín
El 29/07/10 9:34, Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
> Lo que está haciendo no tiene mucho sentido. Los programas ejecutables
> no está concebidos para ser utilizados dentro de otra ventana que no sea
> el propio escritorio. El GPF que se produce, seguramente que no lo
> produce Xailer, si no más bien la propia aplicación que intenta incrustar.
>
> Un saludo
>
> ""Joaquín Martínez."" <buzonjmartial@gmail.com> escribió en el mensaje
> de noticias:4c51253b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Hola René,
>>
>> He puesto el Notepad como ejemplo, pero realmente me refería
>> ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
>>
>> Lo he conseguido incrustar a "pelo" en un bevel heredando de la
>> Tcontrol de Xailer, pero inexplicablemente el notepad funciona
>> bien, pero el Wordpad en cambio, al moverte por los Tedits
>> con el Tabulador, al llegar al Wordpad da un GPF impresionante.
>>
>> De ahí venía la pregunta, si los que conocen Xailer más a fondo,
>> pudieran indicar una pequeñísima muestra de si se pude hacer sin
>> problemas o con Xailer no se puede con garantías.
>>
>> He visto ejemplos en VB que parece que funcionan bien.
>>
>> Un Saludo y gracias,
>> Joaquín
>>
>>
>>
>>
>> El 29/07/10 3:05, René Flores <"rflores escribió:
>>> Joaquin:
>>>
>>> No seria mas facil meter un TRichEdit?
>>> terminas antes y tienes un editor tipo Word nativo
>>>
>>> Saludos
>>>
>>> Rene Flores
>>> http://www.ciber-tec.com
>>>
>>> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>>>> Hola,
>>>>
>>>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>>>> por ejemplo un TBevel.
>>>>
>>>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>>>
>>>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>>>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>>>> ejemplos.
>>>>
>>>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>>>
>>>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>>>
>>>> Un Saludo,
>>>> Joaquín Martínez
>>>
>>
--
he adjuntado una imágen, el problema parece estar en intentar dar el
foco al wordpad, pero a partir de ahí me pierdo.
Si se pudiera anular que gonextcontrol() intentara posicionarse en ese
control, debería funcionar.
He probado ltabstop a .F. y también falla, sin embargo, con el notepad
no falla y aparte, el foco vuelve correctamente al botón del Form.
Un Saludo,
Joaquín
El 29/07/10 9:34, Ignacio Ortiz de Zúñiga escribió:
> Joaquin,
>
> Lo que está haciendo no tiene mucho sentido. Los programas ejecutables
> no está concebidos para ser utilizados dentro de otra ventana que no sea
> el propio escritorio. El GPF que se produce, seguramente que no lo
> produce Xailer, si no más bien la propia aplicación que intenta incrustar.
>
> Un saludo
>
> ""Joaquín Martínez."" <buzonjmartial@gmail.com> escribió en el mensaje
> de noticias:4c51253b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Hola René,
>>
>> He puesto el Notepad como ejemplo, pero realmente me refería
>> ha incrustar un .exe ejecutándose en un Bevel por ejemplo.
>>
>> Lo he conseguido incrustar a "pelo" en un bevel heredando de la
>> Tcontrol de Xailer, pero inexplicablemente el notepad funciona
>> bien, pero el Wordpad en cambio, al moverte por los Tedits
>> con el Tabulador, al llegar al Wordpad da un GPF impresionante.
>>
>> De ahí venía la pregunta, si los que conocen Xailer más a fondo,
>> pudieran indicar una pequeñísima muestra de si se pude hacer sin
>> problemas o con Xailer no se puede con garantías.
>>
>> He visto ejemplos en VB que parece que funcionan bien.
>>
>> Un Saludo y gracias,
>> Joaquín
>>
>>
>>
>>
>> El 29/07/10 3:05, René Flores <"rflores escribió:
>>> Joaquin:
>>>
>>> No seria mas facil meter un TRichEdit?
>>> terminas antes y tienes un editor tipo Word nativo
>>>
>>> Saludos
>>>
>>> Rene Flores
>>> http://www.ciber-tec.com
>>>
>>> El 26/07/2010 06:11 p.m., "Joaquín Martínez." escribió:
>>>> Hola,
>>>>
>>>> Estoy probando a incrustar notepad.exe una vez ejecutado en un control,
>>>> por ejemplo un TBevel.
>>>>
>>>> Con findwindow(cTitle) encuentro el handle del notepad en ejecución.
>>>>
>>>> Pero no encuentro la manera en xailer de incrustarlo. He visto ejemplos
>>>> en VB con el Api de windows, pero en xailer nada me va como dicen los
>>>> ejemplos.
>>>>
>>>> ¿Alguien me puede echar un cable de por donde van los tiros?
>>>>
>>>> Da igual el notepad o cualquier otra aplicación ejecutable.
>>>>
>>>> Un Saludo,
>>>> Joaquín Martínez
>>>
>>
--
Un Saludo,
Joaquín Martínez
Joaquín Martínez
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Incrustar notepad en un control
/*
* Proyecto: CapturarExes
* Fichero: Form1.prg
* Descripción:
* Autor:
* Fecha: 02/08/2010
*/
#include "Xailer.ch"
CLASS TForm1 FROM TForm
COMPONENT oScrollBox1
COMPONENT oScrollBox2
METHOD CreateForm()
METHOD FormShow( oSender )
ENDCLASS
#include "Form1.xfm"
//---------------------------------------------------------- --------------------
METHOD FormShow( oSender ) CLASS TForm1
Local nHandle,nHandle2
Execute("Calc.exe")
Sleep(1000)
nHandle := GETWNDHND("Calculadora")
if nHandle != 0
Setpar(nHandle,::oScrollBox1:Handle)
MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
else
MsgAlert("Imposible instanciar Calculadora")
endif
nHandle2 := GETWNDHND("Xailer - CapturarExes")
if nHandle2 !=0
Setpar(nHandle2,::oScrollBox2:Handle)
MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
else
MsgAlert("Imposible instanciar Xailer")
endif
RETURN Nil
//---------------------------------------------------------- --------------------
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
HB_FUNC( SETPAR )
{
HWND hWnd;
hWnd = SetParent( LongToHandle(hb_parnl( 1 )),
LongToHandle(hb_parnl( 2 )));
hb_retnl ( (long) hWnd );
}
HB_FUNC( GETWNDHND )
{
HWND hWnd;
hWnd = FindWindow(NULL, hb_parc( 1 ));
hb_retnl ((long) hWnd );
}
HB_FUNC( MOVEWNDHND )
{
MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
}
#pragma ENDDUMP
//---------------------------------------------------------- -------------------
* Proyecto: CapturarExes
* Fichero: Form1.prg
* Descripción:
* Autor:
* Fecha: 02/08/2010
*/
#include "Xailer.ch"
CLASS TForm1 FROM TForm
COMPONENT oScrollBox1
COMPONENT oScrollBox2
METHOD CreateForm()
METHOD FormShow( oSender )
ENDCLASS
#include "Form1.xfm"
//---------------------------------------------------------- --------------------
METHOD FormShow( oSender ) CLASS TForm1
Local nHandle,nHandle2
Execute("Calc.exe")
Sleep(1000)
nHandle := GETWNDHND("Calculadora")
if nHandle != 0
Setpar(nHandle,::oScrollBox1:Handle)
MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
else
MsgAlert("Imposible instanciar Calculadora")
endif
nHandle2 := GETWNDHND("Xailer - CapturarExes")
if nHandle2 !=0
Setpar(nHandle2,::oScrollBox2:Handle)
MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
else
MsgAlert("Imposible instanciar Xailer")
endif
RETURN Nil
//---------------------------------------------------------- --------------------
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
HB_FUNC( SETPAR )
{
HWND hWnd;
hWnd = SetParent( LongToHandle(hb_parnl( 1 )),
LongToHandle(hb_parnl( 2 )));
hb_retnl ( (long) hWnd );
}
HB_FUNC( GETWNDHND )
{
HWND hWnd;
hWnd = FindWindow(NULL, hb_parc( 1 ));
hb_retnl ((long) hWnd );
}
HB_FUNC( MOVEWNDHND )
{
MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
}
#pragma ENDDUMP
//---------------------------------------------------------- -------------------
-
- Mensajes: 121
- Registrado: Vie Abr 10, 2009 11:02 pm
Incrustar notepad en un control
Gracias Bingen,
Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
Wordpad ??
Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
TBevel e incrustas con tu clase en el TBevel el wordpad.
Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
calculadora.
¿Podrías comprobarlo?
Un Saludo,
Joaquín
El 02/08/10 13:28, Bingen Ugaldebere escribió:
> /*
> * Proyecto: CapturarExes
> * Fichero: Form1.prg
> * Descripción:
> * Autor:
> * Fecha: 02/08/2010
> */
>
> #include "Xailer.ch"
>
> CLASS TForm1 FROM TForm
>
> COMPONENT oScrollBox1
> COMPONENT oScrollBox2
>
> METHOD CreateForm()
> METHOD FormShow( oSender )
>
> ENDCLASS
>
> #include "Form1.xfm"
>
> //---------------------------------------------------------- --------------------
>
>
> METHOD FormShow( oSender ) CLASS TForm1
> Local nHandle,nHandle2
>
> Execute("Calc.exe")
>
> Sleep(1000)
>
> nHandle := GETWNDHND("Calculadora")
> if nHandle != 0
> Setpar(nHandle,::oScrollBox1:Handle)
>
> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
> else
> MsgAlert("Imposible instanciar Calculadora")
> endif
>
>
>
> nHandle2 := GETWNDHND("Xailer - CapturarExes")
> if nHandle2 !=0
> Setpar(nHandle2,::oScrollBox2:Handle)
>
> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
> else
> MsgAlert("Imposible instanciar Xailer")
> endif
>
>
> RETURN Nil
>
> //---------------------------------------------------------- --------------------
>
> #pragma BEGINDUMP
> #include "windows.h"
> #include "xailer.h"
>
>
> HB_FUNC( SETPAR )
> {
> HWND hWnd;
> hWnd = SetParent( LongToHandle(hb_parnl( 1 )), LongToHandle(hb_parnl(
> 2 )));
> hb_retnl ( (long) hWnd );
> }
>
> HB_FUNC( GETWNDHND )
> {
> HWND hWnd;
> hWnd = FindWindow(NULL, hb_parc( 1 ));
> hb_retnl ((long) hWnd );
> }
>
> HB_FUNC( MOVEWNDHND )
> {
> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
> }
>
> #pragma ENDDUMP
>
>
>
> //---------------------------------------------------------- -------------------
>
Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
Wordpad ??
Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
TBevel e incrustas con tu clase en el TBevel el wordpad.
Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
calculadora.
¿Podrías comprobarlo?
Un Saludo,
Joaquín
El 02/08/10 13:28, Bingen Ugaldebere escribió:
> /*
> * Proyecto: CapturarExes
> * Fichero: Form1.prg
> * Descripción:
> * Autor:
> * Fecha: 02/08/2010
> */
>
> #include "Xailer.ch"
>
> CLASS TForm1 FROM TForm
>
> COMPONENT oScrollBox1
> COMPONENT oScrollBox2
>
> METHOD CreateForm()
> METHOD FormShow( oSender )
>
> ENDCLASS
>
> #include "Form1.xfm"
>
> //---------------------------------------------------------- --------------------
>
>
> METHOD FormShow( oSender ) CLASS TForm1
> Local nHandle,nHandle2
>
> Execute("Calc.exe")
>
> Sleep(1000)
>
> nHandle := GETWNDHND("Calculadora")
> if nHandle != 0
> Setpar(nHandle,::oScrollBox1:Handle)
>
> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
> else
> MsgAlert("Imposible instanciar Calculadora")
> endif
>
>
>
> nHandle2 := GETWNDHND("Xailer - CapturarExes")
> if nHandle2 !=0
> Setpar(nHandle2,::oScrollBox2:Handle)
>
> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
> else
> MsgAlert("Imposible instanciar Xailer")
> endif
>
>
> RETURN Nil
>
> //---------------------------------------------------------- --------------------
>
> #pragma BEGINDUMP
> #include "windows.h"
> #include "xailer.h"
>
>
> HB_FUNC( SETPAR )
> {
> HWND hWnd;
> hWnd = SetParent( LongToHandle(hb_parnl( 1 )), LongToHandle(hb_parnl(
> 2 )));
> hb_retnl ( (long) hWnd );
> }
>
> HB_FUNC( GETWNDHND )
> {
> HWND hWnd;
> hWnd = FindWindow(NULL, hb_parc( 1 ));
> hb_retnl ((long) hWnd );
> }
>
> HB_FUNC( MOVEWNDHND )
> {
> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
> }
>
> #pragma ENDDUMP
>
>
>
> //---------------------------------------------------------- -------------------
>
Un Saludo,
Joaquín Martínez
Joaquín Martínez
Incrustar notepad en un control
Joaquín,
> he adjuntado una imágen, el problema parece estar en intentar dar el
> foco al wordpad, pero a partir de ahí me pierdo.
>
> Si se pudiera anular que gonextcontrol() intentara posicionarse en ese
> control, debería funcionar.
>
> He probado ltabstop a .F. y también falla, sin embargo, con el notepad
> no falla y aparte, el foco vuelve correctamente al botón del Form.
El problema es que el wordpad no es un control, y mucho menos de Xailer. Y
lTabStop no se puede asignar para el wordpad, simplemente por esa razón. Por
favor, pon un pequeño ejemplo de cómo lo estás haciendo y le echaremos un
vistazo por si se pudiera hacer algo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> he adjuntado una imágen, el problema parece estar en intentar dar el
> foco al wordpad, pero a partir de ahí me pierdo.
>
> Si se pudiera anular que gonextcontrol() intentara posicionarse en ese
> control, debería funcionar.
>
> He probado ltabstop a .F. y también falla, sin embargo, con el notepad
> no falla y aparte, el foco vuelve correctamente al botón del Form.
El problema es que el wordpad no es un control, y mucho menos de Xailer. Y
lTabStop no se puede asignar para el wordpad, simplemente por esa razón. Por
favor, pon un pequeño ejemplo de cómo lo estás haciendo y le echaremos un
vistazo por si se pudiera hacer algo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Incrustar notepad en un control
Pues definitivamente ha de ser un error del WordPad, yo lo tengo
comprobado con Word 2003 y funciona.
De todas maneras no se por que quieres meter el wordpad, pero con lo
simple que es puedes hacer lo mismo insertando un control tRichEdit con
una barra de botones, incluso puede leer y grabar los mismos documentos
que Wordpad y el control siempre es tuyo.
Salu2.
El 03/08/2010 10:06, "Joaquín Martínez." escribió:
> Gracias Bingen,
>
> Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
> Wordpad ??
>
> Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
> TBevel e incrustas con tu clase en el TBevel el wordpad.
>
> Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
> con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
> tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
> calculadora.
>
> ¿Podrías comprobarlo?
>
> Un Saludo,
> Joaquín
>
>
> El 02/08/10 13:28, Bingen Ugaldebere escribió:
>> /*
>> * Proyecto: CapturarExes
>> * Fichero: Form1.prg
>> * Descripción:
>> * Autor:
>> * Fecha: 02/08/2010
>> */
>>
>> #include "Xailer.ch"
>>
>> CLASS TForm1 FROM TForm
>>
>> COMPONENT oScrollBox1
>> COMPONENT oScrollBox2
>>
>> METHOD CreateForm()
>> METHOD FormShow( oSender )
>>
>> ENDCLASS
>>
>> #include "Form1.xfm"
>>
>> //---------------------------------------------------------- --------------------
>>
>>
>> METHOD FormShow( oSender ) CLASS TForm1
>> Local nHandle,nHandle2
>>
>> Execute("Calc.exe")
>>
>> Sleep(1000)
>>
>> nHandle := GETWNDHND("Calculadora")
>> if nHandle != 0
>> Setpar(nHandle,::oScrollBox1:Handle)
>>
>> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
>> else
>> MsgAlert("Imposible instanciar Calculadora")
>> endif
>>
>>
>>
>> nHandle2 := GETWNDHND("Xailer - CapturarExes")
>> if nHandle2 !=0
>> Setpar(nHandle2,::oScrollBox2:Handle)
>>
>> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
>> else
>> MsgAlert("Imposible instanciar Xailer")
>> endif
>>
>>
>> RETURN Nil
>>
>> //---------------------------------------------------------- --------------------
>>
>> #pragma BEGINDUMP
>> #include "windows.h"
>> #include "xailer.h"
>>
>>
>> HB_FUNC( SETPAR )
>> {
>> HWND hWnd;
>> hWnd = SetParent( LongToHandle(hb_parnl( 1 )), LongToHandle(hb_parnl(
>> 2 )));
>> hb_retnl ( (long) hWnd );
>> }
>>
>> HB_FUNC( GETWNDHND )
>> {
>> HWND hWnd;
>> hWnd = FindWindow(NULL, hb_parc( 1 ));
>> hb_retnl ((long) hWnd );
>> }
>>
>> HB_FUNC( MOVEWNDHND )
>> {
>> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
>> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
>> }
>>
>> #pragma ENDDUMP
>>
>>
>>
>> //---------------------------------------------------------- -------------------
>>
>
comprobado con Word 2003 y funciona.
De todas maneras no se por que quieres meter el wordpad, pero con lo
simple que es puedes hacer lo mismo insertando un control tRichEdit con
una barra de botones, incluso puede leer y grabar los mismos documentos
que Wordpad y el control siempre es tuyo.
Salu2.
El 03/08/2010 10:06, "Joaquín Martínez." escribió:
> Gracias Bingen,
>
> Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
> Wordpad ??
>
> Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
> TBevel e incrustas con tu clase en el TBevel el wordpad.
>
> Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
> con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
> tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
> calculadora.
>
> ¿Podrías comprobarlo?
>
> Un Saludo,
> Joaquín
>
>
> El 02/08/10 13:28, Bingen Ugaldebere escribió:
>> /*
>> * Proyecto: CapturarExes
>> * Fichero: Form1.prg
>> * Descripción:
>> * Autor:
>> * Fecha: 02/08/2010
>> */
>>
>> #include "Xailer.ch"
>>
>> CLASS TForm1 FROM TForm
>>
>> COMPONENT oScrollBox1
>> COMPONENT oScrollBox2
>>
>> METHOD CreateForm()
>> METHOD FormShow( oSender )
>>
>> ENDCLASS
>>
>> #include "Form1.xfm"
>>
>> //---------------------------------------------------------- --------------------
>>
>>
>> METHOD FormShow( oSender ) CLASS TForm1
>> Local nHandle,nHandle2
>>
>> Execute("Calc.exe")
>>
>> Sleep(1000)
>>
>> nHandle := GETWNDHND("Calculadora")
>> if nHandle != 0
>> Setpar(nHandle,::oScrollBox1:Handle)
>>
>> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
>> else
>> MsgAlert("Imposible instanciar Calculadora")
>> endif
>>
>>
>>
>> nHandle2 := GETWNDHND("Xailer - CapturarExes")
>> if nHandle2 !=0
>> Setpar(nHandle2,::oScrollBox2:Handle)
>>
>> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
>> else
>> MsgAlert("Imposible instanciar Xailer")
>> endif
>>
>>
>> RETURN Nil
>>
>> //---------------------------------------------------------- --------------------
>>
>> #pragma BEGINDUMP
>> #include "windows.h"
>> #include "xailer.h"
>>
>>
>> HB_FUNC( SETPAR )
>> {
>> HWND hWnd;
>> hWnd = SetParent( LongToHandle(hb_parnl( 1 )), LongToHandle(hb_parnl(
>> 2 )));
>> hb_retnl ( (long) hWnd );
>> }
>>
>> HB_FUNC( GETWNDHND )
>> {
>> HWND hWnd;
>> hWnd = FindWindow(NULL, hb_parc( 1 ));
>> hb_retnl ((long) hWnd );
>> }
>>
>> HB_FUNC( MOVEWNDHND )
>> {
>> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
>> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
>> }
>>
>> #pragma ENDDUMP
>>
>>
>>
>> //---------------------------------------------------------- -------------------
>>
>
-
- Mensajes: 121
- Registrado: Vie Abr 10, 2009 11:02 pm
Incrustar notepad en un control
Hola Bingen,
No es que quiera incrustar el wordpad, era una manera simple de explicar
el error, con el notepad NO, con el wordpad SI da un GPF.
Lo he puesto porque todo el mundo tiene esos 2 programas para probar.
La cuestión era ser capaz de incrustar cualquier ejecutable de otro
fabricante y saber por qué con Xailer algunos exe´s dan GPF y otros no.
He descubierto que es el GoNextControl(), pero tendría que ver como
modificarlo para que no dé el GPF.
Un Saludo,
Joaquín
El 12/08/10 8:43, Bingen Ugaldebere escribió:
> Pues definitivamente ha de ser un error del WordPad, yo lo tengo
> comprobado con Word 2003 y funciona.
>
> De todas maneras no se por que quieres meter el wordpad, pero con lo
> simple que es puedes hacer lo mismo insertando un control tRichEdit con
> una barra de botones, incluso puede leer y grabar los mismos documentos
> que Wordpad y el control siempre es tuyo.
>
> Salu2.
>
>
> El 03/08/2010 10:06, "Joaquín Martínez." escribió:
>> Gracias Bingen,
>>
>> Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
>> Wordpad ??
>>
>> Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
>> TBevel e incrustas con tu clase en el TBevel el wordpad.
>>
>> Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
>> con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
>> tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
>> calculadora.
>>
>> ¿Podrías comprobarlo?
>>
>> Un Saludo,
>> Joaquín
>>
>>
>> El 02/08/10 13:28, Bingen Ugaldebere escribió:
>>> /*
>>> * Proyecto: CapturarExes
>>> * Fichero: Form1.prg
>>> * Descripción:
>>> * Autor:
>>> * Fecha: 02/08/2010
>>> */
>>>
>>> #include "Xailer.ch"
>>>
>>> CLASS TForm1 FROM TForm
>>>
>>> COMPONENT oScrollBox1
>>> COMPONENT oScrollBox2
>>>
>>> METHOD CreateForm()
>>> METHOD FormShow( oSender )
>>>
>>> ENDCLASS
>>>
>>> #include "Form1.xfm"
>>>
>>> //---------------------------------------------------------- --------------------
>>>
>>>
>>>
>>> METHOD FormShow( oSender ) CLASS TForm1
>>> Local nHandle,nHandle2
>>>
>>> Execute("Calc.exe")
>>>
>>> Sleep(1000)
>>>
>>> nHandle := GETWNDHND("Calculadora")
>>> if nHandle != 0
>>> Setpar(nHandle,::oScrollBox1:Handle)
>>>
>>> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
>>> else
>>> MsgAlert("Imposible instanciar Calculadora")
>>> endif
>>>
>>>
>>>
>>> nHandle2 := GETWNDHND("Xailer - CapturarExes")
>>> if nHandle2 !=0
>>> Setpar(nHandle2,::oScrollBox2:Handle)
>>>
>>> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
>>> else
>>> MsgAlert("Imposible instanciar Xailer")
>>> endif
>>>
>>>
>>> RETURN Nil
>>>
>>> //---------------------------------------------------------- --------------------
>>>
>>>
>>> #pragma BEGINDUMP
>>> #include "windows.h"
>>> #include "xailer.h"
>>>
>>>
>>> HB_FUNC( SETPAR )
>>> {
>>> HWND hWnd;
>>> hWnd = SetParent( LongToHandle(hb_parnl( 1 )),
>>> LongToHandle(hb_parnl(
>>> 2 )));
>>> hb_retnl ( (long) hWnd );
>>> }
>>>
>>> HB_FUNC( GETWNDHND )
>>> {
>>> HWND hWnd;
>>> hWnd = FindWindow(NULL, hb_parc( 1 ));
>>> hb_retnl ((long) hWnd );
>>> }
>>>
>>> HB_FUNC( MOVEWNDHND )
>>> {
>>> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
>>> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
>>> }
>>>
>>> #pragma ENDDUMP
>>>
>>>
>>>
>>> //---------------------------------------------------------- -------------------
>>>
>>>
>>
No es que quiera incrustar el wordpad, era una manera simple de explicar
el error, con el notepad NO, con el wordpad SI da un GPF.
Lo he puesto porque todo el mundo tiene esos 2 programas para probar.
La cuestión era ser capaz de incrustar cualquier ejecutable de otro
fabricante y saber por qué con Xailer algunos exe´s dan GPF y otros no.
He descubierto que es el GoNextControl(), pero tendría que ver como
modificarlo para que no dé el GPF.
Un Saludo,
Joaquín
El 12/08/10 8:43, Bingen Ugaldebere escribió:
> Pues definitivamente ha de ser un error del WordPad, yo lo tengo
> comprobado con Word 2003 y funciona.
>
> De todas maneras no se por que quieres meter el wordpad, pero con lo
> simple que es puedes hacer lo mismo insertando un control tRichEdit con
> una barra de botones, incluso puede leer y grabar los mismos documentos
> que Wordpad y el control siempre es tuyo.
>
> Salu2.
>
>
> El 03/08/2010 10:06, "Joaquín Martínez." escribió:
>> Gracias Bingen,
>>
>> Pero has probado tu ejemplo con una pantalla como la de mi imágen y el
>> Wordpad ??
>>
>> Es decir, Creas un form con 3 Tedits por ejemplo, a continuación un
>> TBevel e incrustas con tu clase en el TBevel el wordpad.
>>
>> Hasta ahí me funciona, luego, estando en el TEdit nº 1, vas avanzando
>> con Tabular por los controles, cuando llegues al TEdit nº 3 y le des a
>> tabular, a mí me da un GPF si es el WordPad, no si es el notepad o la
>> calculadora.
>>
>> ¿Podrías comprobarlo?
>>
>> Un Saludo,
>> Joaquín
>>
>>
>> El 02/08/10 13:28, Bingen Ugaldebere escribió:
>>> /*
>>> * Proyecto: CapturarExes
>>> * Fichero: Form1.prg
>>> * Descripción:
>>> * Autor:
>>> * Fecha: 02/08/2010
>>> */
>>>
>>> #include "Xailer.ch"
>>>
>>> CLASS TForm1 FROM TForm
>>>
>>> COMPONENT oScrollBox1
>>> COMPONENT oScrollBox2
>>>
>>> METHOD CreateForm()
>>> METHOD FormShow( oSender )
>>>
>>> ENDCLASS
>>>
>>> #include "Form1.xfm"
>>>
>>> //---------------------------------------------------------- --------------------
>>>
>>>
>>>
>>> METHOD FormShow( oSender ) CLASS TForm1
>>> Local nHandle,nHandle2
>>>
>>> Execute("Calc.exe")
>>>
>>> Sleep(1000)
>>>
>>> nHandle := GETWNDHND("Calculadora")
>>> if nHandle != 0
>>> Setpar(nHandle,::oScrollBox1:Handle)
>>>
>>> MoveWindow(nHandle,0,0,::oScrollBox1:nWidth,::oScrollBox1:nH eight,.t.)
>>> else
>>> MsgAlert("Imposible instanciar Calculadora")
>>> endif
>>>
>>>
>>>
>>> nHandle2 := GETWNDHND("Xailer - CapturarExes")
>>> if nHandle2 !=0
>>> Setpar(nHandle2,::oScrollBox2:Handle)
>>>
>>> MoveWindow(nHandle2,0,0,::oScrollBox2:nWidth,::oScrollBox2:n Height,.t.)
>>> else
>>> MsgAlert("Imposible instanciar Xailer")
>>> endif
>>>
>>>
>>> RETURN Nil
>>>
>>> //---------------------------------------------------------- --------------------
>>>
>>>
>>> #pragma BEGINDUMP
>>> #include "windows.h"
>>> #include "xailer.h"
>>>
>>>
>>> HB_FUNC( SETPAR )
>>> {
>>> HWND hWnd;
>>> hWnd = SetParent( LongToHandle(hb_parnl( 1 )),
>>> LongToHandle(hb_parnl(
>>> 2 )));
>>> hb_retnl ( (long) hWnd );
>>> }
>>>
>>> HB_FUNC( GETWNDHND )
>>> {
>>> HWND hWnd;
>>> hWnd = FindWindow(NULL, hb_parc( 1 ));
>>> hb_retnl ((long) hWnd );
>>> }
>>>
>>> HB_FUNC( MOVEWNDHND )
>>> {
>>> MoveWindow(LongToHandle(hb_parnl( 1 )),hb_parnl( 2 ),hb_parnl( 3
>>> ),hb_parnl( 4 ),hb_parnl( 5 ),hb_parl( 6 ));
>>> }
>>>
>>> #pragma ENDDUMP
>>>
>>>
>>>
>>> //---------------------------------------------------------- -------------------
>>>
>>>
>>
Un Saludo,
Joaquín Martínez
Joaquín Martínez