Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ayuda con Renderización en un PictureBox [VB6]

Iniciado por Thorrex, 26 de Enero de 2010, 03:50:34 AM

« anterior - próximo »

Thorrex

     Buenas.. Primero me presento, ya que soy nuevo en esta comunidad.. Me llamo Baltasar, y mi alias es Thorrex. Tengo 18 años, estoy a tan solo 1 año de recibirme como Técnico Electrónico para luego arrancar Ingeniería en Sistemas, en la Universidad Tecnológica Nacional. Vivo en Capital Federal, Buenos Aires, Argentina. Me dedico al Diseño Web, Gráfico y a la programación en algunos lenguajes, pero me especializo en VB6.
     Actualmente estoy haciendo un Engine algo básico en VB6, pero he partido desde cero. La idea mia es al terminar, liberar en este foro los códigos, para que puedan partir desde allí en algún proyecto que deseen hacer. Pero mi consulta es la siguiente:

     Resulta que al iniciar el objeto gráfico y el modo de video, lo hago en en PictureBox al que llamo Render. Ésto lo hago de la siguiente manera:
Call DXGraphics.Init(frmMain.Render.hWnd, SizeX, SizeY, 32, True)
* SizeX y SizeY varían según la lectura del mapa al cargar, pero nunca superan los 800x600 respectivamente.

Bueno, una vez inicializado esto, el PictureBox (Render) se situa en el centro de la pantalla automáticamente. No lo hace en el centro del formulario, sino en el centro centro de la pantalla. Trato de obligarlo a que se pegue en algún lugar específico pero no lo hace.. ¿Existe alguna posible solución?

Desde ya, muchas gracias.. Mis saludos.

Hechelion

¿Probaste un:

frmMain.Render.Top = 0
frmMain.Render.Left = 0

Después de inicializar la clase?

A mi me mueve el Picturebox sin problemas con eso.

Thorrex

#2
Eso lo hice en el Form_Load() del frmMain, y no hubo caso.. Igual, intento hacerlo de ese modo y después edito. ;)

Gracias.. :)

EDIT: Si, así anduvo bien.. (Por qué no se me pudo ocurrir intentar eso antes)... Desde el Form_Load del formulario no funcionaba :/..

Bueno, Muchas gracias por la pronta respuesta.. Espero en poco tiempo liberar ya los códigos (Para eso debo terminarlo :) )

Hechelion

Yo acabo de probar con el siguiente código y me funciona sin problema.

Código (vb) [Seleccionar]

Dim gfx As dx_GFX_Class
Dim Mainloop As Boolean

Private Sub Command1_Click()
Mainloop = False
End Sub

Private Sub Form_Load()
Set gfx = New dx_GFX_Class

Me.Show
Call gfx.Init(Form1.Picture1.hWnd, 400, 200, 32, True)


Picture1.Top = 0
Picture1.Left = 0

Mainloop = True

Do While Mainloop

    Call gfx.Frame(0, 60, True)
Loop

gfx.Terminate

Set gfx = Nothing
End
End Sub


Thorrex

Claro, veo lo tuyo, el problema es que yo Iniciaba el render desde el un cls, después le daba frmMain.Show, y desde el Form_Load no me lo ubicaba.. Bue, igual lo solucioné.. Gracias por todo.. ;)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.