FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Texto vertical en un dialogo...
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
Texto vertical en un dialogo...
Posted: Mon Mar 12, 2007 01:28 PM

Amigos:

Necesito colocar un texto vertical en un dialogo.
Declarando el font NESCAPEMENT 900 solo funciona
para las impresiones no para los says en un dialogo.

Agradezco alguna sugerencia

Muchas gracias

Ruben Fernandez.

Gracias y Saludos

Ruben Fernandez - Uruguay

FWH 11.06, Harbour, Borland 5.82
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Texto vertical en un dialogo...
Posted: Mon Mar 12, 2007 02:51 PM

Hola Ruben

Esto quizas podria ayudarte :


  • Function SayRotated(oWnd,Y,X,cPrompt,oFont,nClrText,nClrPane,l3D)
  • Dibuja un texto rotado
  • oWnd: Ventana / diálogo
  • Y,X: coordenadas en pixels del inicio del texto (nTop, nLeft)
  • oFont: Fuente (definir antes) // debe ser True Type
  • nClrText,nClrPane: Colores de texto y fondo. Si éste ultimo es nil se
  • pinta transparente
  • l3D: Con efecto 3D
    *
  • César E. Lozada (cesarlozada@hotmail.com)
  • Los Teques, Venezuela Marzo 25, 2003
    *

include "Fivewin.ch"


Function Test
Local oDlg, oFont1, oFont2
DEFINE FONT oFont1 NAME "Arial" SIZE 0,-36 NESCAPEMENT 9010
DEFINE FONT oFont2 NAME "Arial" SIZE 0,-24 BOLD NESCAPEMENT 45
10

DEFINE DIALOG oDlg FROM 0,0 TO 20,40 COLOR CLR_BLACK,CLR_WHITE;
TITLE "Textos rotados"

ACTIVATE DIALOG oDLg CENTERED;
ON PAINT( SayRotated(oDlg,235,0,"90 grados 3D",oFont1,,,.t.),;
SayRotated(oDlg,125,50,"45 grados",oFont2,CLR_HRED,CLR_YELLOW,.f.))

RELEASE FONT oFont1
RELEASE FONT oFont2
return


Function SayRotated(oWnd,Y,X,cPrompt,oFont,nClrText,nClrPane,l3D)
Local hDC:=oWnd:hDC
DEFAULT nClrText:=CLR_BLUE, l3D:=.T.

IF l3D
DrawRotated(hdc, cPrompt, Y + 1, X + 1, CLR_BLACK,nClrPane,oFont)
DrawRotated(hdc, cPrompt, Y - 1, X - 1, nClrText,nClrPane,oFont)
ENDIF
DrawRotated(hdc, cPrompt, Y , X , nClrText,nClrPane,oFont)

return


Static Function DrawRotated(hDC,cPrompt,Y,X,nClrText,nClrPane,oFont)
Local hOldFont, nOldMode, nOldClrText, nOldClrPane

nOldClrText:=SetTextColor(hDC,nClrText)
if nClrPane<>nil
nOldClrPane:=SetBkColor(hDC,nClrPane)
else
nOldBkMode:=SetBkMode(hDC,1)
endif
hOldFont:=SelectObject(hDC,oFont:hFont)
TextOut(hDC,Y,X,cPrompt,Len(cPrompt))
SelectObject(hDC,hOldFont)
if nClrPane<>nil
SetBkColor(hDC,nOldClrPane)
else
SetBkMode(hDC,nOldBkMode)
endif
SetTextColor(hDC,nOldClrText)
return


Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
Texto vertical en un dialogo...
Posted: Mon Mar 12, 2007 03:02 PM

Gracias Raymundo

Lo pruebo y te digo.

Muchas gracias.

Saludos

Ruben Fernandez

Gracias y Saludos

Ruben Fernandez - Uruguay

FWH 11.06, Harbour, Borland 5.82

Continue the discussion