FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Brush... pero de TEXTO ?
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Brush... pero de TEXTO ?
Posted: Thu Jun 28, 2007 04:03 PM

Hola amigos Fivewinners....

Alguien sabe como, se le ocurre, tiene una idea de como.....

Poner un texto de brush, no puede ser un bitmap, ya que ese texto deberia cambiar de acuerdo a una funcion externa, y no puedo generar tantos bitmaps como textos voy a necesitar.

Lo intente con lo siguiente en la Clausula ON INIT FONDO(ownd)

//-----------------------------------
Function Fondo(oWnd)
Local Texto:=TraeTexto()

For x=1 TO 80
@x,1 say Texto of oWnd Color CLR_HBLUE
Next

Return Nil

... pero queda sobre mi toolbar y un bitmap que tengo centrado en la window.

Cualquier ayuda sera bienvenida...

Grax.

Desde Chile
Adolfo Lagos

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Brush... pero de TEXTO ?
Posted: Thu Jun 28, 2007 04:33 PM

Intentalo con ExTextOut() desde el pintado del dialogo/Window (el :bPainted) antes de colocar el bitmap con PalBmpDraw()
Calcula las coordenadas para poner la primera linea de texto por debajo de la toolbar.
Suerte
Saludos

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Brush... pero de TEXTO ?
Posted: Thu Jun 28, 2007 06:34 PM

Adolfo

ACTIVATE WINDOW oWnd MAXIMIZED ON PAINT ( _miTxt(hDC) )

function _miTxt( hDC )
Local oFont
DEFINE FONT oFont NAME "ROMAN" SIZE 0,-12 BOLD
oFont:Activate( hDC )
SetBkMode(hDC,1)
SetTextColor(hDC,CLR_BLUE)
DrawText(hDC,"SysCtrl Software",{10, 20, 500, 600}, nOr( 1, 4 ) )
RETURN NIL

Espero te sirva

Saludos...

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Brush... pero de TEXTO ?
Posted: Fri Jun 29, 2007 04:45 PM

Antolin, Syscrtl

Gracias por sus respuestas,

primero... ala funcion mitxt es llamada cada vez que paso por encima de un icono, menu etc.
Segundo, desgraciadamente no veo nada, trate de cambiar parametros como las 4 coordenadas, color, tipo y tamaño de la letra y nada.. asi que no pude hacerlo funcionar.

Sobre el ExtTextOut(), estoy rcien viendo como implementarlo.. les comunco si tuve exito

Desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Brush... pero de TEXTO ?
Posted: Fri Jun 29, 2007 09:26 PM
Supongo que sería algo asi:

DEFINE FONTO oFont ...
DEFINE Bmp ....
DEFINE DIALOG oDlg ...
...
oDlg:bPainted := { |hDc| MiPaintBrush(hDc,oFont,Bmp) }
...
ACTIVATE DIALOG oDlg ...

FUNCTION MiPaintBrsuh(hDc,oFont,Bmp)
LOCAL nX,nY
LOCAL OldFont := SelectObject(hDC,oFont:hFont)

FOR nX = ... TO ... STEP ... // FOR nHorzDesde to nHorzHasta STEP AnchoTexto + Separcion Horizontal entre Textos
FOR nY = ... TO ... STEP ... // FOR nVertDesde to nVertHasta STEP AltoTexto +Separacion Vertical entre Lineas
ExTextOut(hDc,nX,nY,{nX,nY,nX+AnchoTexto,nY+AltoText},"TEXTO A DESPLEGAR")
NEXT
NEXT
SelectObject(hDC,OldFont)
PalDrawText(hDc,X..,Y..,Bmp:hBitmap, Bmp:hPalette,[AnchoBmp,AltoBmp] )
RETURN NIL

Lo más tedioso es calcular las coordenadas. Paciencia.
Saludos
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Brush... pero de TEXTO ?
Posted: Fri Jun 29, 2007 09:31 PM

Tambien puedes probar con DrawText() o WSay() en lugar de ExTextOut() son muy similares. Con fondo transparente u Opaco, Etc... Consulta las ayudas del FWH para ver el uso de esas functiones.

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Brush... pero de TEXTO ?
Posted: Fri Jun 29, 2007 09:46 PM

Adolfo,

la funcion _MiTxt() solo puedes llarme una vez,

utilizando una variable publica,,

public lMiTxt := .t.

if lMiTxt
_miTxt()
lMiTxt := .f.
endif

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Brush... pero de TEXTO ?
Posted: Fri Jun 29, 2007 09:53 PM
Adolfo, en mi posta anterior, con las prisas, he puesto PalDrawText(hDc,X..,Y..,Bmp:hBitmap, Bmp:hPalette,[AnchoBmp,AltoBmp] )
en lugar de PalBmpDraw(hDc,X..,Y..,Bmp:hBitmap, Bmp:hPalette,[AnchoBmp,AltoBmp] )

Mil perdones
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Brush... pero de TEXTO ?
Posted: Tue Jul 03, 2007 03:29 PM

Gracias a Todos

Lo he podido hacer mezclando ambas partes de las soluciones que me han enviado, pero en vez de usar ExtTextOut() he utilizado WSay() ya que me permite cambio de color de letra y fondo, y si la deseo transparente o no.

Gracias

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650

Continue the discussion