Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: erick185 en 11 Marzo 2006, 05:58 am



Título: Centrar texto manualmente
Publicado por: erick185 en 11 Marzo 2006, 05:58 am
Hola,

Me estoy volviendo loco intentando hacer esto ...
Estoy haciendo un menú para un juego, y necesito crear algo como botones pero sin contorno que serían las opciones, y en estas necesito que el texto esté centrado...
Cuando empece supuse que sería fácil:
Pensé: La posición x donde comienza el texto es igual a la posición del boton mas el ancho dividido dos menos el ancho del texto dividido dos, que es igual a:
Clave:
PosTextoX=PosBotonX+AnchoBoton/2-AnchoTexto/2
 
Pero al usar eso, no funciona  se alinea mal...
Aca dejo el código que venía usando:

Clave:
ScrText.NormalFont_DrawText mvarTexto, mvarPosX + mvarAncho / 2 - frmBalas_Misiles.TextWidth(mvarTexto) / 2, mvarPosY + 2, RGBA(1, 1, 1, 0.5), "Fuente"
 
 
Eso lo tengo dentro de un módulo de clase....

agradezco mucho tu ayuda...

Saludos...


Título: Re: Centrar texto manualmente
Publicado por: .Slasher-K. en 11 Marzo 2006, 06:36 am
Depende relativo a qué sea, pero si es un control de usuario por ejemplo es lo que pusiste, con una correción:

Código:
CentroX = AnchoBoton/2-AnchoTexto/2 

El ancho del texto lo obtenés con TextWidth, y varía según la fuente que se use, por eso fijate que la fuente de lo que sea que contenga el texto o donde se va a dibujar, contenga la misma fuente que el objeto que uses para llamar a TextWidth, ya sea un formulario, UserControl o PictureBox.

Saludos.