Componente descendiente de TGraphicControl que implementa una imagen
con posibilidades de responder a la pulsación del ratón
sobre distintas partes de la misma 'HotSpots' (polígonos definidos
en el componente).
Las propiedades, métodos y eventos son los mismos que los de TImage
y además :
Propiedades
Active: Indica si le componente está
activo o no.
ClickType: Define el comportamiento del
componente ante la pulsación del ratón sobre cualquiera
de los polígonos (HostSpots):
ctEvent |
Se ejecuta el evento OnHotClick |
ctLink |
Se ejecuta lo que indiquen las propiedades de 'Link'
del HotSpot pulsado |
ctLinkEvent |
Se ejecuta lo que indiquen las propiedades de 'Link'
del HotSpot pulsado y después el evento OnHotClick |
ctEventLink |
Se ejecuta el evento OnHotClick
y después lo que indiquen las propiedades de 'Link' del HotSpot
pulsado |
Framed: Si true, se dibujará un frame
alrededor del HotSpot sobre el que se encuentre el cursor del
ratón.
FrameSize: Tamaño en pixels del frame
anterior.
InkGlass: Efecto de color del HotSpot
activo.
InkColor: Color del efecto.
InkGlassMode: Modo de creación de efecto
de color.
imBlackness |
Rellena con color negro el polígono que define el
HotSpot |
imDstInvert |
Invierte el polígono que define el HotSpot |
imMergeCopy |
Combina mediante el operador AND la imagen y el color
InkColor del polígono que define el HotSpot |
imMergePaint |
Invierte el color InkColor y lo combina con la imagen
mediante el operador OR. |
imNotSrcCopy |
Invierte el color de InkColor y lo dibuja el polígono
con el color resultante. |
imNotSrcErase |
Combina la imagen y el color mediante el operador
OR y después invierte el resultado. |
imSrcAnd |
Combina la imagen con el color InkColor utilizando
el operador AND. |
imSrcCopy |
Dibuja el HotSpot con el color InkColor. |
imSrcErase |
Invierte la imagen del HotSpot y después la combina
con InkColor a través del operador AND. |
imSrcInvert |
Combina la imagen y el color mediante el operador
XOR. |
imSrcPaint |
Combina la imagen y el color mediante el operador
OR. |
imWhiteness |
Rellena con color blanco el polígono que define el
HotSpot |
Picture: Imagen del componente.
Polygon : Nº de HotSpot sobre el que
se encuentra el ratón(sólo los activos). -1 si no se encuentra
sobre ninguno.
Poligons: Colección de polígonos
que definirán las zonas sensibles (HotSpot) a la pulsación
con el ratón. Los coordenadas de los puntos que se definen en estos
polígonos se refieren al ancho y largo del componente, no de la
imagen que puede contener, así que si se modifica el mismo dependiendo
de la imagen (propiedad Stretch), los polígonos definidos
pueden no ajustarse a la imagen.
EventOutPolygon: Boolean. Si True entonces
hace que salte el evento OnPolygonActive
no sólo cuando el cursor del ratón se sitúa sobre un
HotSpot (polígono) sino que también lo hace cuando se
sitúa en zona no sensible. Si False, solo se produce cuando el
cursor del ratón se sitúa sobre un HotSpot del control.
Items: (pública no
publicada)
Name: Nombre identificador
del HotSpot/Polígono.
Poly: Cada polígono.
Active: Boolean. Indica si el
HotSpot está activo.
Cursor: Forma del cursor. Por defecto
crHandPoint.
Hint: Cadena de caracteres que
se mostrarán en la ventana del Hint.
HintColor: Color de fondo de la
ventana hint del polígono.
Link: Propiedades del 'link' asociado
al polígono (Hotspot).(Ver LinkDoc)
FileName
: Documento a abrir. El documento debe tener asociada una aplicación
(p.e. ".doc" es un documento de Microsoft Word)
DefaultDir : Directorio
por defecto.
Operation : Operación
que queremos realizar.
loOpen |
Abre el documento |
loExplore |
Explora la carpeta donde se encuentra
el documento |
loPrint |
Imprime el documento |
Parameters : Parámetros
a pasar.
ShowCmd : Forma de
apertura del documento. Los tipos son los siguientes :
scHide |
Cierra la ventana y activa otra |
scMaximize |
Maximiza la ventana |
scMinimize |
Minimiza la ventana |
scRestore |
Activa y muestra la ventana |
scShow |
Activa la ventana |
scShowDefault |
|
scShowMaximized |
Activa y muestra la ventana maximizada |
scShowMinimized |
Activa la ventana y la minimiza |
scShowMinNoActive |
Muestra la ventana minimizada pero no activa |
scShowNa |
Muestra la ventana en el estado en que se encuentre pero
no la activa |
scShowNoActivate |
|
scShowNormal |
Activa y muestra la ventana |
PopupMenu: Menú de contexto
para el polígono(HotSpot).
Items: (pública no publicada)
Point: Cada uno de los
vértices del polígono
X: Coordenada X
Y: Coordenada Y
Métodos
ExportHTMLMap: Crea un fichero
con la estructura <MAP>...</MAP>
de HTML para los polígonos (hotspots) definidos en el componente.
CopyHTMLMaptoClipboard: Guarda en el portapapeles
una copia de la estructura <MAP>...</MAP>
de HTML para los polígonos (hotspots) definidos en el componente.
GetNumber:Se le pasa como parámetro
el nombre (Name) del HotSpot y devuelve
el número (Index) del HotSpot.
GetName:Se le pasa como parámetro
el número (Index) del HotSpot y devuelve el Nombre (Name)
del HotSpot.
ByName : Se le pasa como parámetro
el nombre (Name) de un HotSpot (Polygons[n].Name)
y devuelve el objeto Poly (Tpoly) del polígono cuyo nombre es
Name.
Draw : Dibuja el polígono (HotSpot)
del número/nombre que se le pase como parámetro con la
brocha (Brush) y lápiz (Pen) actual del Canvas del control.
Ejemplos :
HotSpotMap1.GetNumber('PolyCuadrado');
HotSpotMap1.GetName(1);
If HotSpotMap1.ByName('PolyCuadrado').Active then
HotSpotMap1.Draw('PolyCuadrado')
Else
HotSpotMap1.Draw(0);
Eventos
OnHotClick: Se produce cada vez que
el usuario pulsa con el ratón sobre alguno de los HotSpot (polígonos)
definidos en el control. Tiene como parámetros Sender que es
el propio control y Polygon que es un entero que indica el nº del
polígono sobre el que se ha pulsado. La numeración va
de 0 al nº de polígonos-1.
OnPolygonActive: Se produce cada vez
que el cursor del ratón entra en un HotSpot (polígono)
de los definidos en el control. Tiene como parámetros Sender
que es el propio control y Polygon que es un entero que indica el nº
del polígono sobre el que se ha situado el cursor del ratón.
La numeración va de -1 al nº de polígonos-1. Si la
propiedad EventOutPolygon es True, también
saltará cuando el cursor se sitúe en una zona no sensible del
control (entonces el parámetro Polygon será '-1').
Puedes descargar un ejemplo pulsando sobre la imagen siguiente :
Editor de polígonos incorporado (haciendo doble-click o Edit)
sobre el componente. Descarga el manual de este editor incorporado.
Pulsando el botón derecho del ratón sobre el componente,
éste nos permitirá cargar los datos de los puntos de los
polígonos desde un fichero de texto creado por la utilidad HotSpotMapEditor.
También os podéis descargar el manual
de este programa.
|