Sample VML ASP - VBSCRIPT
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns="http://www.w3.org/TR/REC-html40">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<head>
</head>
<body>
<%
set oVMLChart1 = new ClassVMLChart1
oVMLChart1.bShowLabelxMultilevel = true
oVMLChart1.LabelxMultilevel =4
oVMLChart1.LabelxLevels(0) = split("TURNO ANTERIOR,TURNO
ANTERIOR,TURNO ANTERIOR,TURNO ANTERIOR,TURNO ANTERIOR,TURNO
ANTERIOR,TURNO ANTERIOR,TURNO ACTUAL,TURNO ACTUAL,TURNO ACTUAL,TURNO
ACTUAL",",")
oVMLChart1.LabelxLevels(1) = split("0,1,2,3,4,5,6,7,8,9,10",",")
oVMLChart1.LabelxLevels(2) =
split("JUAN,JUAN,JUAN,JUAN,B,B,C,D,D,D,D",",")
oVMLChart1.LabelxLevels(3) =
split("AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,HOY,HOY",",")
' force text label
'oVMLChart1.LabelyLevels(0) = "auto"'split("0 %,10
%,20,30,40,50,60,70,80,90,100,110,120",",")
oVMLChart1.AddSerie()
'oVMLChart1.serie(0).ArrDatos =
split(",75,,60,110,77,80,90,10.5,21",",")
oVMLChart1.serie (0).ArrDatos =
split("110,120,120,120,120,120,120,,,",",")
oVMLChart1.serie(0).color = "#808080"
oVMLChart1.serie(0).Gallery = "Columns"
oVMLChart1.serie(0).opacity = .2 '"11141f" ' para columnas
oVMLChart1.serie(0).border = "no" ' para columnas
oVMLChart1.serie(0).bShowValuesin = false ' para columnas
oVMLChart1.AddSerie()
oVMLChart1.serie(1).ArrDatos =
split("166,66,66,66,66,66,66,66,66,66",",")
oVMLChart1.serie(1).color = "#ff00ff"
oVMLChart1.serie(1).Gallery = "Line"
oVMLChart1.AddSerie()
oVMLChart1.serie(2).ArrDatos =
split("10,110,38,6,10,47,50,50,20.5,44",",")
oVMLChart1.serie(2).Gallery = "LinePoint"
oVMLChart1.AddSerie()
oVMLChart1.serie(3).ArrDatos = split("3,5,3,6,100,7,20,30,40.5,",",")
oVMLChart1.serie(3).Gallery = "Columns"
oVMLChart1.serie(3).color = "#a52a2a"
oVMLChart1.serie(3).opacity = .8
oVMLChart1.serie(3).bShowValuesin = true
oVMLChart1.serie(3).border = "1"
oVMLChart1.Render()
%>
<%
Class ClassVMLChart1
public serie()
public bShowLabelxMultilevel,LabelxMultilevel
dim LabelxLevels(),LabelyLevels(),bShowLabely,bShowLabelx
private oVMLGrid,CantidadSeries
dim gridWidth , gridHeight
dim minValues , MaxValues ,hLines , vLines
dim LabelYpostString,
LabelYDecimalsEscala,bScaleYigualMAX,iScaleY
dim oTituloY , oTituloX , oTituloGrafico
Private Sub Class_Initialize()
dim a
set oVMLGrid = new ClassVMLGrid
CantidadSeries =0
redim serie(50)
for a = 0 to 50
set serie(a) = New ClassSerieParam
next
bShowLabelxMultilevel = false
LabelxMultilevel =10
redim LabelxLevels(LabelxMultilevel)
bShowLabely = TRUE
bShowLabelx = false
redim LabelyLevels(1)
LabelyLevels(0) =
""'split("0,10,20,30,40,50,60,70,80,90,100,110,120",",")
gridWidth = 500
gridHeight = 200
hLines = 10
vLines = null
iScaleY = null
LabelYpostString =""
LabelYDecimalsEscala = 0
bScaleYigualMAX = false'true
set oTituloY = new ClassTitulos
oTituloY.text = "oTituloY"
oTituloY.visible = true
set oTituloX = new ClassTitulos
oTituloX.text = "oTituloX"
oTituloX.visible = true
set oTituloGrafico = new ClassTitulos
oTituloGrafico.text = "oTituloGrafico"
oTituloGrafico.visible = true
end sub
public function AddSerie()
CantidadSeries = CantidadSeries +1
end function
sub Render()
dim a
oVMLGrid.CantidadSeries = CantidadSeries
for a = 1 to CantidadSeries
set oVMLGrid.serie(a-1) = serie(a-1)
oVMLGrid.vLines =ubound(serie(a-1).ArrDatos) + 1
next
' paso varialbes
oVMLGrid.bShowLabelxMultilevel = bShowLabelxMultilevel
oVMLGrid.LabelxMultilevel = LabelxMultilevel
for a = 1 to LabelxMultilevel
oVMLGrid.LabelxLevels(a-1) = LabelxLevels(a-1)
next
oVMLGrid.bShowLabely = bShowLabely
oVMLGrid.bShowLabelx = bShowLabelx
if isArray(LabelyLevels(0)) then
oVMLGrid.LabelyLevels(0) = LabelyLevels(0)
else ' auto
minValues =0
MaxValues = GetMaxValue()
oVMLGrid.LabelyLevels(0) =
construirEscalaY(minValues,MaxValues,hLines)' y hLines
'hLines
oVMLGrid.hLines =hLines
'oVMLGrid.MaxValues = MaxValues
end if
'filter:progid:DXImageTransform.Microsoft.Alpha(opacity
= 50)
Response.Write "<div style=""position: absolute; width:
501px; height: 201px; z-index: 1 ; left: 100px; top: 120px;border: 1px
solid #000000 "" id=""capavml"">"
Response.Write "<!--[if gte vml 1]>"
Response.Write oVMLGrid.RenderGrid()
Response.Write "<![endif]-->"
Response.Write "</div> "
Response.Write "<div style=""position: absolute; width:
76px; height: 15px; z-index: 100; left: 350px; top: 130px;
background-color: #FFFFFF"" id=""capa1""> <p
align=""center""><font face=""Arial"" size=""1"">Turno
anterior</font></div>"
end sub
function GetMaxValue()
dim val,ArrDatosSerie,maxVal
maxVal=-99999999
for a = 1 to CantidadSeries
ArrDatosSerie = oVMLGrid.serie(a-1).ArrDatos
for da = 0 to ubound(ArrDatosSerie)
thisVal = ArrDatosSerie(da)
if isnull(thisVal) then thisVal = 0
if len(thisVal)=0 then thisVal = 0
if cdbl(thisVal) > maxVal then
maxVal = cdbl(thisVal)
end if
next
next
GetMaxValue = maxVal
end function
function construirEscalaY(min,Max,nroLineas)
dim RetornarArr()
redim RetornarArr(nroLineas+1000)
dim counter
counter = 0
''cantlineas es step
cantlineas = round(( cdbl(Max) - cdbl(min) ) /
nroLineas,1)
cantlineas = fix(cantlineas)+1
' este otro metodo AUTOMATICO a probar : sino comentar
cantlineas = (10 ^ (len(fix(MAx))-1) )
if fix(cdbl(Max)/cantlineas) < 5 then
cantlineas= cantlineas/2
' fn metodo auto a probar
if not isnull(iScaleY) then
cantlineas =iScaleY
end if
for st = cdbl(min) to cdbl(Max) step cantlineas
valor = cdbl(st)
valEscala = FormatNumber (valor
,LabelYDecimalsEscala ) & " " & LabelYpostString
RetornarArr(counter) = valEscala
counter = counter +1
next
RetornarArr(counter) = FormatNumber (valor +
cdbl(cantlineas) ,LabelYDecimalsEscala ) & " " & LabelYpostString
if not bScaleYigualMAX then
oVMLGrid.MaxValues = valor + cdbl(cantlineas)
hLines = counter
else
oVMLGrid.MaxValues = Max
hLines = counter -1
end if
construirEscalaY = RetornarArr
end function
end class
Class ClassSerieParam
public Titulo
public Gallery
'public Axis
public Width
public Color
public iColumn
'public ExtaProperties
public ArrDatos
public ArrTitle
public opacity ' para columnas
public border ' para columnas
public bShowValuesin ' para columnas
Private Sub Class_Initialize()
Randomize (Timer)
Color = "#" & hex(Int(256*Rnd)+1 )
ArrTitle = null
ArrDatos = ""
Gallery = "LinePoint" ' Line, Point
End Sub
end class
Class ClassTitulos
dim text,color,size,style,visible,posX,posY,iRotacion
Private Sub Class_Initialize()
text = "titulo"
color ="black"
size = "8px"
style =""
visible=false
End Sub
end Class
Class ClassVMLGrid
dim
gridWidth,gridHeight,hLines,vLines,ColorLine,bShowGrilla,bShowLabely,bSh
owLabelx
dim
LabelyPosition,LabelxPosition,bShowLabelxMultilevel,LabelxMultilevel,bSh
owLabelyMultilevel
dim LabelxLevels(),LabelyLevels()
DIM CantidadSeries,serie()
dim minValues , MaxValues
dim oTituloY , oTituloX , oTituloGrafico
private oVMLBasic
Private Sub Class_Initialize()
gridWidth = 500
gridHeight = 200
hLines = 12
vLines = 1
ColorLine = "#d3d3d3"'"gray"
bShowGrilla = true
bShowLabely = true
LabelyPosition = "left,right"'"left"
bShowLabelx= false
LabelxPosition = "button"'"top,button" '
"button" ' top
bShowLabelxMultilevel = false
LabelxMultilevel = 10
redim LabelxLevels(LabelxMultilevel)
LabelxLevels(0) =
split("0,1,2,3,4,5,6,7,8,9,10",",")
LabelxLevels(1) =
split("JUAN,JUAN,JUAN,JUAN,B,B,C,D,D,D,D",",")
LabelxLevels(2) =
split("AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,AYER,HOY,HOY",",")
bShowLabelyMultilevel = false ' FALTA HACER
LabelyMultilevel = 2 ' FALTA HACER
redim LabelyLevels(LabelyMultilevel) ' FALTA
HACER
LabelyLevels(0) =
split("0,10,20,30,40,50,60,70,80,90,100,110,120",",")
set oVMLBasic = new classVMLBasic
CantidadSeries =0
redim serie(50)
for a = 0 to 50
set serie(a) = New ClassSerieParam
'serie(a).ArrDatos =
split("20,30,5,60,110,77,80,90,10.5,21",",")
'serie(a).ArrTitle = split("es 20,es
30,es 5,60,110,77,80,90, 10.5,21",",")
next
minValues = 0
MaxValues = 200
set oTituloY = new ClassTitulos
oTituloY.text = "oTituloY"
oTituloY.visible = true
set oTituloX = new ClassTitulos
oTituloX.text = "oTituloX"
oTituloX.visible = true
set oTituloGrafico = new ClassTitulos
oTituloGrafico.text = "oTituloGrafico"
oTituloGrafico.visible = true
end sub
function RenderGrid()
dim str,i
str =""
if bShowGrilla then
' grilla
for i=0 to hLines
str = str & oVMLBasic.DrawLine
(1,ColorLine,0, (i*(gridHeight/hLines)) , gridWidth ,
(i*(gridHeight/hLines)) )
next
for i=0 to vLines
str = str & oVMLBasic.DrawLine
(1,ColorLine,(i*(gridWidth/vLines)),0,(i*(gridWidth/vLines)),gridHeight)
next
end if
' ------- label y // rayita y
if bShowLabely then
' izq
if LabelyPosition ="left" or
LabelyPosition ="left,right" then
for i=0 to hLines
' rayita
str = str &
oVMLBasic.DrawLine ( 2,"black" ,-3, (i*(gridHeight/hLines)) , 1 ,
(i*(gridHeight/hLines)) )
' texto y
str = str &
oVMLBasic.Drawtextbox(-25, -5 + (i*(gridHeight/hLines)) ,25 , 10 , ""&
LabelyLevels(0)(hLines-i) ,"left" , null )
next
end if
if LabelyPosition ="right" or
LabelyPosition ="left,right" then
' der
for i=0 to hLines
str = str &
oVMLBasic.DrawLine (2,"black" , gridWidth-1, (i*(gridHeight/hLines)) ,
gridWidth+3 , (i*(gridHeight/hLines)) )
str = str &
oVMLBasic.Drawtextbox( gridWidth + 9 , -5 + (i*(gridHeight/hLines))
,25 , 10 , ""& LabelyLevels(0)(hLines-i) ,"left" , null )
next
end if
end if
' o label cuadradito
'for i=0 to hLines
'str = str & oVMLBasic.DrawLine
(1,"black" ,-15, (i*(gridHeight/hLines)) , 0 , (i*(gridHeight/hLines))
)
'next
'str = str & oVMLBasic.DrawLine
(1,"black", -15 ,0, -15 ,gridHeight)
' ------- label x // rayita x
if bShowLabelx then
if LabelxPosition = "top" or
LabelxPosition ="top,button" then
' arriba
for i=0 to vLines
str = str &
oVMLBasic.DrawLine (2,"black", (i*(gridWidth/vLines)), -2 ,
(i*(gridWidth/vLines)), 1 )
str = str &
oVMLBasic.Drawtextbox( - ((gridWidth/vLines)/2) +
(i*(gridWidth/vLines)), -15, (gridWidth/vLines) , 10 ,
LabelxLevels(0)(i) ,"center",null)
next
end if
if LabelxPosition = "button" or
LabelxPosition ="top,button" then
' abajo
for i=0 to vLines
str = str &
oVMLBasic.DrawLine (2,"black", (i*(gridWidth/vLines)), gridHeight -1 ,
(i*(gridWidth/vLines)), gridHeight + 2 )
str = str &
oVMLBasic.Drawtextbox( - ((gridWidth/vLines)/2) +
(i*(gridWidth/vLines)), gridHeight + 5, (gridWidth/vLines) , 10 ,
LabelxLevels(0)(i) ,"center",null)
next
end if
end if
if bShowLabelxMultilevel then
'permite crear varios niveles de leyendas
agrupados
'
' 1 2 3 4 5
' --- a--- --- b --
FOR ilevel =0 to LabelxMultilevel -1
ArrValues = LabelxLevels(ilevel)
alturalevel = ilevel * 12
LastLeyenda =""
for i=0 to vLines - 1
' str = str &
oVMLBasic.DrawRect_textbox ( (i*(gridWidth/vLines)) , gridHeight +
alturalevel , (gridWidth/vLines) , 12 , ArrValues(i)
,"center",null)
if LastLeyenda <> ArrValues(i)
then
factorlX =
factorLeyendaRepedido(ArrValues,i)
if LabelxPosition =
"top" or LabelxPosition ="top,button" then
str = str &
oVMLBasic.DrawRect_textbox ( (i*(gridWidth/vLines)) , -
alturalevel -12 , (gridWidth/vLines) * factorlX , 12 ,
ArrValues(i) ,"center",null)
end if
if LabelxPosition =
"button" or LabelxPosition ="top,button" then
str = str &
oVMLBasic.DrawRect_textbox ( (i*(gridWidth/vLines)) , gridHeight +
alturalevel , (gridWidth/vLines) * factorlX , 12 , ArrValues(i)
,"center",null)
end if
end if
LastLeyenda = ArrValues(i)
next
next
end if
'********* render titulos
' oTituloY , oTituloX , oTituloGrafico
if oTituloY.visible then
oTituloY.posX = -50
oTituloY.posY = gridHeight/2 - (
(len(oTituloX.text)*8)/2 )
oTituloY.iRotacion = 3
oTituloY.size = 8
str = str & DrawTitulo(oTituloY)
end if
if oTituloX.visible then
oTituloX.posX = gridWidth/2 - (
(len(oTituloX.text)*8)/2 )
oTituloX.posY = gridHeight + (LabelxMultilevel *
15)
oTituloX.iRotacion = 0
oTituloX.size = 8
str = str & DrawTitulo(oTituloX)
end if
if oTituloGrafico.visible then
oTituloGrafico.size = 11
oTituloGrafico.posX = gridWidth/2 - (
(len(oTituloX.text)* oTituloGrafico.size )/2 )
oTituloGrafico.posY = - 25
oTituloGrafico.iRotacion = 0
str = str & DrawTitulo(oTituloGrafico)
end if
str = str & RenderSeries()
RenderGrid = str
end function
function DrawTitulo(oTitulo)
str = ""
rotacion =""
rotacion =
"FILTER:progid:DXImageTransform.Microsoft.BasicImage ( Rotation="&
oTitulo.iRotacion
&",Mirror=0,Invert=0,XRay=0,Grayscale=0,Opacity=1.00);"
str = str & "<div style="""&rotacion&"position:
absolute; height: 10px; z-index: 100; left: "& oTitulo.posx &"px; top:
"& oTitulo.posy &"px"">"
str = str & "<span style=""font-family: Arial;
font-size: "&oTitulo.size&"pt"">" & oTitulo.text
str = str & "</span>"
str = str & "</div> "
DrawTitulo = str
end function
function RenderSeries()
dim str
str =""
for a = 1 to CantidadSeries
str = str & DrawSerie (serie(a-1))'.ArrDatos
next
RenderSeries = str
end function
function DrawSerie(oSerie)
dim str
str =""
' draw oSerie.ArrDatos
'minValues = 0
'MaxValues = 120
xPto =0
yPto=0
if not isArray(oSerie.ArrTitle) then
oSerie.ArrTitle = oSerie.ArrDatos
end if
for ptos = 0 to ubound( oSerie.ArrDatos )
y = oSerie.ArrDatos(ptos)
if isnull(y) or len(y) = 0 then
y=minValues'0
else
y= cdbl(y)
end if
x = ptos
color = oSerie.color
'Ycalculo = Y ' calcular px
'PXmax = gridHeight '= MaxValues
Ycalculo = round ( Y * gridHeight/MaxValues,3)
''stop
'********* une los puntos *************
if oSerie.Gallery = "LinePoint" or
oSerie.Gallery = "Line" then
if ptos > 0 then
x2Pto =
((gridWidth/vLines)/2) + (x*(gridWidth/vLines))
y2Pto = gridHeight -
Ycalculo
str = str &
oVMLBasic.DrawLineAdvance (1, color, xPto,yPto,x2Pto,y2Pto,
Array(color,100-(ptos*10)))
end if
end if
' ******** end une ptos *********
xPto = ((gridWidth/vLines)/2) +
(x*(gridWidth/vLines))
yPto = gridHeight - Ycalculo
' *** draw punto
if oSerie.Gallery = "LinePoint" or
oSerie.Gallery = "Point" then
str = str & oVMLBasic.DrawRect_textbox (
-2+ xPto , yPto -2 , 4 , 4 , vbcrlf & " " &
oSerie.ArrTitle(ptos) & " " & vbcrlf ,"center",
Array(color,100-(ptos*10)) )
end if
if oSerie.Gallery = "Columns" then
str = str & oVMLBasic.DrawRect_textbox (
(x*(gridWidth/vLines)) , yPto , (gridWidth/vLines) ,
Ycalculo , vbcrlf & " " & oSerie.ArrTitle(ptos) & " " &
vbcrlf ,"center",
Array(color,100-(ptos*10),oSerie.opacity,oSerie.border,oSerie.bShowValue
sin ) )
end if
next
DrawSerie = str
end function
private function
factorLeyendaRepedido(pArrDatos,posActual)
'calcula el ancho de la leyenda para agrupar
dim factor,j,NextLeyenda,thisLeyenda
factor = 1
NextLeyenda = ""
thisLeyenda = pArrDatos(posActual)
for j=posActual+1 TO ubound(pArrDatos)
if thisLeyenda = NextLeyenda then
'stop
factor = factor + 1
end if
NextLeyenda = pArrDatos(j)
next
factorLeyendaRepedido = factor
end function
end class
class classVMLBasic
function DrawLine(intWidth, strColor, fx, fy, tx, ty)
''' <v:line strokeweight='2px'
strokecolor='gray' from='0, 0' to='480, 0'></v:line>
Dim strToWrite
strToWrite = "<v:line"
strToWrite = strToWrite & " strokeweight='" & intWidth &
"px'"
strToWrite = strToWrite & " strokecolor='" & strColor &
"'"
strToWrite = strToWrite & " from='" & fx & ", " & fy &
"'"
strToWrite = strToWrite & " to='" & tx & ", " & ty & "'"
strToWrite = strToWrite & "></v:line>"
DrawLine = (strToWrite)
End function
function DrawLineAdvance(intWidth, strColor, fx, fy, tx, ty,
ArrOptionalparam )
''' <v:line strokeweight='2px'
strokecolor='gray' from='0, 0' to='480, 0'></v:line>
Dim strToWrite
Color2 = "blue"
z_index = 2
if not isnull(ArrOptionalparam) then
Color2 = ArrOptionalparam(0)
if ubound(ArrOptionalparam) > 0 then z_index
= ArrOptionalparam(1)
end if
styles = "z-index:" & z_index & ";"
strToWrite = "<v:line style='position:absolute;"&
styles &"' "
strToWrite = strToWrite & " strokeweight='" & intWidth &
"px'"
strToWrite = strToWrite & " strokecolor='" & strColor &
"'"
strToWrite = strToWrite & " from='" & fx & ", " & fy &
"'"
strToWrite = strToWrite & " to='" & tx & ", " & ty & "'"
strToWrite = strToWrite & "></v:line>"
DrawLineAdvance = (strToWrite)
End function
function Drawtextbox(left,top,width,height,text,aligntext,
ArrOptionalparam)
Dim strToWrite
'<v:shape id=""_x0000_s1026"" type=""#_x0000_m1027""
alt="""" style='position:absolute;
'left:172.5pt;top:52.5pt;width:36pt;height:13.5pt;z-index:1'
stroked=""f"">
'<v:fill opacity=""1"" o:opacity2=""1"" recolor=""f""
rotate=""f""/>
'<v:textbox inset=""0,0,0,0"">
' <table cellspacing=""0"" cellpadding=""0""
width=""100%"" height=""100%"" style=""font-family: Verdana; font-size:
8pt"">
' <tr>
' <td align=""center"">200hhh</td>
' </tr>
' </table>
'</v:textbox>
'</v:shape>
strToWrite = strToWrite & "<v:shape id=""_x0000_s1026""
type=""#_x0000_m1027"" title='"&text&"' style='position:absolute;
left:"& left &";top:"& top &";width:"& width &";height:"& height
&";z-index:3' stroked=""f"" >"
strToWrite = strToWrite & "<v:fill opacity=""1""
o:opacity2=""1"" recolor=""f"" rotate=""f""/>"
strToWrite = strToWrite & "<v:textbox
inset=""0,0,0,0"">"
strToWrite = strToWrite & "<table
cellspacing=""0"" cellpadding=""0"" width=""100%"" height=""100%""
style=""font-family: Arial,Verdana; font-size: 7pt"">"
strToWrite = strToWrite & "<tr>"
strToWrite = strToWrite & "<td
align="""&aligntext&""">"&text&"</td>"
strToWrite = strToWrite & "</tr>"
strToWrite = strToWrite & "</table>"
strToWrite = strToWrite & "</v:textbox>"
strToWrite = strToWrite & "</v:shape> "
Drawtextbox = (strToWrite)
End function
function DrawRect_textbox(left,top,width,height,text,aligntext,
ArrOptionalparam)
Dim strToWrite
Color = "blue"
z_index = 2
opacity ="58982f" ' 5555f
border = ""
bshowTextIn = true
if not isnull(ArrOptionalparam) then
Color = ArrOptionalparam(0)
if ubound(ArrOptionalparam) > 0 then
if not isnull(ArrOptionalparam(1)) then
z_index = ArrOptionalparam(1)
end if
if ubound(ArrOptionalparam) > 1 then
if not isnull(ArrOptionalparam(2)) then
opacity = ArrOptionalparam(2)
end if
if ubound(ArrOptionalparam) > 2 then
if not isnull(ArrOptionalparam(3)) then
border = ArrOptionalparam(3)
if border = "no" then
border= "stroked=""f"""
else
border = "
strokeweight="""&border&"pt"""
end if
end if
end if
if ubound(ArrOptionalparam) > 3 then
if not isnull(ArrOptionalparam(4)) then
bshowTextIn = ArrOptionalparam(4)
end if
end if
'<v:rect id="_x0000_s1028"
style='position:absolute;left:247.5pt;top:99.75pt;width:36pt;height:20.2
5pt; z-index:2' strokecolor="#330"> <v:fill opacity="58982f"/>
<v:stroke joinstyle="round"/>
' <v:textbox inset="0,0,0,0">
' <table cellspacing="0" cellpadding="0"
width="100%" height="100%" style="font-family: Verdana; font-size: 8pt">
' <tr>
' <td
align="center">200hhh</td>
' </tr>
' </table>
' </v:textbox>
' </v:rect>
strToWrite = strToWrite & "<v:rect "&border&"
style=""cursor:default"" "
if bshowTextIn then
strToWrite = strToWrite & "
title="""&text&""" "
end if
strToWrite = strToWrite & " fillcolor="""&Color&"""
id=""_x0000_s1028"" style='position:absolute;left:" & left & ";top:" &
top & ";width:"& width & ";height:" & height & "; z-index:"& z_index
&"' strokecolor=""#000""> <v:fill opacity="""&opacity&"""/> <v:stroke
joinstyle=""round""/>"
strToWrite = strToWrite & "<v:textbox
inset=""0,0,0,0"">"
strToWrite = strToWrite & "<table
cellspacing=""0"" cellpadding=""0"" width=""100%"" height=""100%""
style=""font-family: Verdana; font-size: 7pt; color: #FFFFFF;
font-weight: bold"">"
strToWrite = strToWrite & "<tr>"
if bshowTextIn then
strToWrite =
strToWrite & "<td style='' align="""&aligntext&""">"&text&"</td>"
end if
strToWrite = strToWrite & "</tr>"
strToWrite = strToWrite & "</table>"
strToWrite = strToWrite & "</v:textbox>"
strToWrite = strToWrite & "</v:rect>"
DrawRect_textbox = strToWrite
End function
end class
%>
10 oct 2007
Suscribirse a:
Enviar comentarios (Atom)
analytics
Etiquetas
- .NET 2.0 (15)
- ADM PROYECTOS (3)
- AJAX (2)
- Ale Sfrede (1)
- alesfrede (27)
- Arch (3)
- chrome 2.0 (1)
- chrome extension (1)
- CSS XML HTC (2)
- extension (1)
- google (1)
- google chrome toolbar (1)
- init (1)
- News (3)
- realtime (1)
- Scripting (4)
- sfrede (1)
- SQL Server (3)
- translate (1)
No hay comentarios:
Publicar un comentario