elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Solucionado] Ayuda setparent y ubicacion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Ayuda setparent y ubicacion  (Leído 3,004 veces)
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
[Solucionado] Ayuda setparent y ubicacion
« en: 22 Noviembre 2010, 19:34 pm »

Hola de nuevoo :P
Una pregunta, yo estoy usando Setparent para incrustar mi formulario adentro de otro (este otro se encuentra en otro proceso)

Mi pregunta es, hay alguna forma de, luego de que ya este inscrustado, ubicarlo siempre en la misma posicion? Tengo que sacar las medidas del form del otro proceso para lograr esto?

Gracias!!


« Última modificación: 23 Noviembre 2010, 02:19 am por Cromatico » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Ayuda setparent y ubicacion
« Respuesta #1 en: 22 Noviembre 2010, 20:28 pm »

GetParent()

Antes de incrustarlo guarda el Origen (Hwnd Origen con GetPArent()).

Dulce Infierno Lunar!¡.


En línea

The Dark Shadow is my passion.
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Ayuda setparent y ubicacion
« Respuesta #2 en: 22 Noviembre 2010, 22:18 pm »

Mmmm creo que no es lo que busco, ese api creo que retorna el HWND, yo ya tengo el hwnd de el form principal donde quiero incrustarlo, e incluso se incrusta bien, pero lo que intento hacer es luego de incrustarlo, moverlo a la posicion X, Y de ese form, nose si me explico...
Por ejemplo, una ves incrustado en el form del otro proceso, centrarlo en el medio del mismo...

Gracias!!
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Ayuda setparent y ubicacion
« Respuesta #3 en: 22 Noviembre 2010, 23:57 pm »

Mi pregunta es, hay alguna forma de, luego de que ya este inscrustado, ubicarlo siempre en la misma posicion? Tengo que sacar las medidas del form del otro proceso para lograr esto?

mmm... no se luego de incrustrar, si fuera propiante un control de la aplicacion externa se podria cambiar de tamaño o posicion con SetWindowPos, pero este no es caso, creo que el Hwnd de la ventana de tu aplicación no va a figurar como hijo de la aplicación externa (aunque lo incrustes)

Mi pregunta es, hay alguna forma de, luego de que ya este inscrustado, ubicarlo siempre en la misma posicion? Tengo que sacar las medidas del form del otro proceso para lograr esto?

No se si hay alguna forma directa de hacerlo, pero para saber la posicion y tamaño de una aplicacion externa podes usar GetWindowRect con esas dimenciones tratá de centrar tu formulario desde el codigo, probalo ( pero nunca lo hice con un Form incrustado)    

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
    Left As Long: Top As Long: Right As Long: Bottom As Long
End Type

Dim TR As RECT

"LEFT" = TR.Left * 15
"TOP" = TR.Top * 15
"WIDTH " = TR.Bottom * 15 - TR.Top * 15
"HEIGHT"= TR.Right * 15 - TR.Left * 15





« Última modificación: 23 Noviembre 2010, 00:03 am por Dessa » En línea

Adrian Desanti
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Ayuda setparent y ubicacion
« Respuesta #4 en: 23 Noviembre 2010, 02:18 am »

Hola Dessa gracias por contestar!!!

Me funcionó  lo que me dijiste y lo hice de la siguiente manera:
ret = hwnd del form externo
strings = WidthExt y HeighExt
+2720 y -4950  Son los dos valores que le sume y reste para ubicarlo en la posicion que yo queria no en el centro :P

Call SetParent(Form2.hWnd, ret)
Form2.Show
Dim TR As RECT
Call GetWindowRect(ret, TR)
WidthExt = TR.Bottom * 15 - TR.Top * 15
HeighExt = TR.Right * 15 - TR.Left * 15
Form2.Move ((WidthExt - Form2.Width) \ 2) + 2720, ((HeightExt - Form2.Height) \ 2) - 4950

Saludos y gracias!!!
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Solucionado] Ayuda setparent y ubicacion
« Respuesta #5 en: 23 Noviembre 2010, 02:59 am »

Buenísimo, tenia dudas si podia servir, creo que puse al reves el retorno de HEIGHT y WIDTH,  :xD :xD :xD , sería así:

"LEFT" = TR.Left * 15
"TOP" = TR.Top * 15
"HEIGHT"= TR.Bottom * 15 - TR.Top * 15
"WIDTH" = TR.Right * 15 - TR.Left * 15


Saludos
En línea

Adrian Desanti
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: [Solucionado] Ayuda setparent y ubicacion
« Respuesta #6 en: 23 Noviembre 2010, 04:20 am »

jjajajaja ya me parecia raro, porque no quedaba muy muy en el centro ya que el form no es un cuadrado perfecto, pero igual me servia ya que siempre lo posicionaba en las mismas coordenadas.

Entonces ya corregido me quedo:

ret = hwnd del form externo
strings = WidthExt y HeighExt
+1230 y -3500  Son los dos valores que le sume y reste para ubicarlo en la posicion que yo queria no en el centro

Call SetParent(Form2.hWnd, ret)
Form2.Show
Dim TR As RECT
Call GetWindowRect(ret, TR)
WidthExt = TR.Right * 15 - TR.Left * 15
HeightExt = TR.Bottom * 15 - TR.Top * 15
Form2.Move ((WidthExt - Form2.Width) \ 2) + 1230, ((HeightExt - Form2.Height) \ 2) - 3500

Gracias nuevamente!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda ubicacion de diccionario por defecto en crunch
Hacking Wireless
eliumesth10 2 6,242 Último mensaje 19 Septiembre 2016, 16:22 pm
por Pablo Videla
[Ayuda] [Error] Ubicación no Disponible
Windows
**Aincrad** 1 2,658 Último mensaje 16 Junio 2019, 14:05 pm
por bettu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines