Visual Basic - Escribir textos en un UserControl

Life is soft - evento anual de software empresarial
 
Vista:

Escribir textos en un UserControl

Publicado por Kulber (2 intervenciones) el 15/08/2004 11:20:52
Hola. Ya que esto no me premite escribir mucho texto, lo pondre en varios mensajes.

«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»

Tengo un UserControl en el que escribo un texto ya sea con "Print" o con la funcion API "Drawtext". Ademas, hago que el fondo del UserControl se vuelva transparente y muestre el texto. Pero el detalle es que, si el texto contiene mas de 397 caracteres, y muestro el texto completo en una sola linea (y por tanto, no se puede ver completo en el UserControl) se transparenta perfectamente. Pero si hago que se muestre el texto completo de la forma que dire a continuación, no se transparenta el fondo si el texto sobrepasa los 397 caracteres.

Os pongo el codigo en el siguiente mensaje a ver si os pasa lo mismo. (Lo pongo con "Print")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Primer Ejemplo

Publicado por Kulber (11 intervenciones) el 15/08/2004 11:25:10
Primer ejemplo:

Si escribimos lineas de 50 caracteres hasta llegar a los 397 caracteres mostrando asi el texto completo se transparenta, pero si se añade un caracter mas no se transparenta.

«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»

Option Explicit

Private Sub UserControl_Initialize()
UserControl.Width = 4290
UserControl.Height = 1770
UserControl.AutoRedraw = True
UserControl.BackStyle = 0

Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 123456789"
Print "123456789 123456789 123456789 123456789 1234567"

UserControl.Picture = UserControl.Image
UserControl.MaskPicture = UserControl.Picture
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Segundo Ejemplo

Publicado por Kulber (11 intervenciones) el 15/08/2004 11:27:34
Segundo ejemplo:

Si escribimos mas de 397 caracteres (en esta ocasion son 400) en una sola linea no se muestra el texto completo, pero se transparenta:

«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»

Option Explicit

Private Sub UserControl_Initialize()
UserControl.Width = 4290
UserControl.Height = 1770
UserControl.AutoRedraw = True
UserControl.BackStyle = 0

Print "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789"

UserControl.Picture = UserControl.Image
UserControl.MaskPicture = UserControl.Picture
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tercer Ejemplo

Publicado por Kulber (11 intervenciones) el 15/08/2004 11:29:20
Tercer Ejemplo:

Si escribimos 397 caracteres en una sola linea en el codigo pero añadiendo vbCrLf se transparenta, pero si se añade un caracter mas no se transparenta.

«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»

Option Explicit

Private Sub UserControl_Initialize()
UserControl.Width = 4290
UserControl.Height = 1770
UserControl.AutoRedraw = True
UserControl.BackStyle = 0

Print "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 123456789" & vbCrLf & "123456789 123456789 123456789 123456789 1234567"

UserControl.Picture = UserControl.Image
UserControl.MaskPicture = UserControl.Picture
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ultimo mensaje.

Publicado por Kulber (11 intervenciones) el 15/08/2004 11:31:43
He puesto las 3 combinaciones junta poniendo 2 como comentarios para no tener que poner 3 ejemplos diferentes, vosotros quitais y poneis la marca de comentario en las que os interese ver en cada momento.

No he probado mas combinaciones pero no creo que haga falta ya que hagas lo que hagas, solo transparenta si el texto no supera los 397 caracteres.
A ver si alguien sabe por que para esto. Por que yo ya me estoy volviendo loco.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ultimo mensaje.

Publicado por miri (18 intervenciones) el 17/08/2004 14:37:41
Hola Kulber.

Lo siento mucho, he probado todos tus ejemplos, y a mi siempre me transparenta, aunque añada más caracteres.

Ya sabes, a veces la programación es un 'Proceso Aleatorio'

Chao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Una pregunta miri...

Publicado por Kulber (11 intervenciones) el 18/08/2004 10:06:04
Yo tengo una una targeta de video de 32Mb. ¿Es posible que tu tengas una mayor? Si es asi, ¿es posible que sea esa limitacion? (esto es una pregunta al aire, simplemente por si lo sabes).

Gracias igualmente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una pregunta miri...

Publicado por miri (18 intervenciones) el 18/08/2004 11:53:38
Saludos.

No tengo ni idea.
Mi Targeta gráfica es de 128MB, pero no creo que sea por eso.

Lo siento, chao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar