Está en la página 1de 12

TUTORIALATUTOPLAYMEDIASTUDIO7

TEMA:Tree
Autor:Jdyb

Enestetutorialvamosaaprenderausarelobjetotree,digamos
queesteobjetoensseracomoelrboldecarpetasdelexploradorde
Windows.

Yahesealadodondeseencuentraesteobjetoenlabarrade
tareas.

Ahoranostenemosqueaprendersuspropiedades.Pongouna
capturadepantalladelosatributosdelobjetoylosvoyexplicando.

Muestraunrecuadropara
marcaralladodelitem

Propiedadesdeltem(ver
siguientecaptura).

Aadirtemsyordenarlos

Estilodelborde

Colordefondoycolordel
texto.
Loquesemuestra
Datointerno

Sieltemestexpandido
pordefectooloexpande
elusuario.

Ahoratocaexplicareltemadelasimgenes,dndeponeimagelist,
tenemosqueponeralgoparecidoaesto

Si leemos la ayuda del programa nos ayudar a crear este tipo de


imgenesynosdicelasdimensiones.
UseImageList
True if the specified image list file should be used in the tree object, false if it should
not be.

ImageList
A bitmap image (maximum 24bit supported) that contains 16x16 icons to be used by
the Tree object as icons for each tree item.
Note: The image used as the image list must be a bitmap image (.bmp).
The picture above includes three 16x16 icons. The orange icon (left-most) has an
index of 0. The purple icon (middle) has an index of 1. The circle icon (right-most)
has an index of 2.
Note: To specify which icon each tree item will display, specify the Image index in
each item's properties.

ImageListTransparentColor
The color that will be transparent in the image list. Click the select button to bring up a
color chooser. The color that you click on will be used to represent transparency in the
image list.

Comovemosesfcildeentender,setratadecrearunaimagenen
bmp que contenga los iconos de los item. Luego especificamos el color
quenohayquetenerencuentadelbmp.

Para seleccionar que icono poner en cada tem se va a la captura


anterior y se especifica el ndice dentro de la imagen bmp, es decir un
simplenmerocontandodeizquierdaaderechalosiconosquehayenel
bmp.

Bueno, en lo que a aspecto se refiere yo creo que ya est todo


explicado, habr alguien que se pregunte cmo poner una imagen de
fondo,peroyoledirquecreoquenosepuede,lohemiradoyyocreo
queno,loquesepuedeseleccionareselcolordefondo.


Ahorayocreoqueyapodemospasaralaaccin,esdeciravertodo
lo que podemos hacer con este objeto, como os podeis imaginar todo
depende de la imaginacin de uno mismo. Pero ya veris que las
posibilidadessonmuchas.

Yocreoqueloprimeroquevamosahaceresexplorarlasfunciones
disponiblesporencimayluegoveremosunejemplo.
Tree.CollapseNode("Tree1",
"1-1");Encoge
nodo,esdecir,lodejacerrado,nosevenlossubnodos.

un

A partir de aqu llamaremos nodos a cada uno de los tems del


rbol.
Tree.EnsureVisible("Tree1", "1-1");Seasegurade
que un determinado nodo est visible, es decir, expande todo lo que se
necesiteexpandirparaqueelnodoseleccionadosehagavisible.
Tree.ExpandNode("Tree1",
especificadoenlafuncin.

"1");Expande el nodo

result=Tree.GetSelectedNode("Tree1");Devuelve
elndicedelnodoqueestseleccionado.
result=Tree.GetNode("Tree1",
"1-1");Nos
devuelveunatablaconlaspropiedadesdelnododelcualhemosindicado
el ndice. En el ejemplo veremos cmo acceder a los campos de la tabla
quedevuelve.
Haymsfuncionesqueestas,comopodemos verenlacapturade
pantalla,perolasqueusaremosprincipalmentesonlasdosltimasquehe
nombrado,lasdemssonmscomunesatodoslosobjetosyalgunaotra
queseveasimplevistaloqueesdesobra.Sihayalgoquenoentiendano
alguna funcin en especial que no sepan utilizar no duden en
preguntrmelo.

El ejemplo que voy a hacer va a ser muy simple, voy a hacer un


rbol con varios objetos, y segn el objeto seleccionado se realizar una
determinadaaccin,quecreoqueesmsomenosloquenosinteresaa
todos.

Vamos paso a paso. Una vez que tengamos creado el proyecto a


nuestro gusto lo que tenemos que hacer es crear un nuevo rbol como
haciendo click en la barra de herramientas (ver primera captura de
pantalla). Luego le damos doble click encima y tendremos sus
propiedades,yovoyahacerunrbolbastantesencillo,paraaadirtems
slohayqueusarlasteclasquehaydebajodelalistacomoyapuseenla

capturadepantalla.Lasflechasdearribayabajosonparaordenar,ylas
de izquierda a derecha para cambiar la jerarqua del nodo dentro del
rbol.Veamosestacapturadepantallaparamostraroselrbol(mini)que
hecreadoyo.

Comoveisesmuysimple,esterbolquedaraennuestroproyecto
as.


Porquapareceexpandidosienlacapturaanteriorqueindicaba
las propiedades estaba sin expandir? Porque la casilla expandir de las
propiedadesdelnodoProgramasestmarcada.

Comovisteisanteriormentecadanodollevauncampodetextoyun
ndicecomolosComboBoxydemsobjetos.Puesbienesoesloqueseva
a usar para saber cual est seleccionado, y as realizar las determinadas
accionesquequeramosyesasaccionessernrealizadascuandoqueramos
(alhacerclick,dobleclick,etc).

Estos son todos los momentos en los que se puede realizar una
accin, los ms comunes que podemos usar con OnSelect y On Double
Click.
Enelejemplovamosausareldeldobleclick,peropodemosutilizar
eldelsimpleclicktambin,enestecasodaralomismo.
Enlosndicesdelrbolutilizarlareglasiguiente,quecreoqueeslo
msordenadoydeestamaneranonosharemosningnlo.
Enlospadresponernmeros,enloshijos,ponerelpadreunguin
opuntoyelnmerodehijo,yassucesivamente.
Lespongounejemplo.

Padre

Hijo1

Hijo2

Padre2

Unavezqueyatienentodoestoyapasamosalapartedelcdigo,
vamosacolocartodoelcdigoeneldobleclick.
Lo primero aadiremos la funcin que nos devuelve el nodo
seleccionado.


Ahora debemos de usar la que nos devuelve una tabla con las
propiedadesdedichonodo(elseleccionado).

Y ahora lo que debemos de hacer es mediante estructuras


condicionalesespecificarunaseriedeacciones.
Para hacer esas estructuras condicionales debemos de mirar la
ayuda para saber las claves de la tabla que nos devuelve la segunda
funcin y as acceder al campo que queramos, que en este caso ser el
Itemdata.

Ahorayapodemosempezarahacerlosif,yloqueusaremosserel
operador de acceso a una estructura que es el punto, que se usa para
accederaloscamposdeuna estructura,enestecasonuestraestructura
sellamaraprop(sincomillas).

Les pongo una captura de pantalla de cmo debera quedar una vez
terminado. En el ejemplo la accin que realiza es sacar un cartel con el
nodoquesehaseleccionado.

Acontinuacinelcdigoparaqueloveanmejorqueenlacaptura.

select = Tree.GetSelectedNode("Tree1");
prop = Tree.GetNode("Tree1", select);
if prop.Data=="1-1" then
--Hacer una accin
result = Dialog.Message("Seleccionado", "Ha seleccionado
el nodo 1-1", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
if prop.Data=="1-2" then
--Hacer una accin
result = Dialog.Message("Seleccionado", "Ha seleccionado
el nodo 1-2", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
--As sucesivamente para todos los nodos

Yaesttodolisto,conestepequeoejemployasabrcmohacer
ms cosas con este nuevo objeto, ya que todo se basa en lo mismo, lo
nico que variar sern las acciones, que depende de lo que queramos
hacer.
Espero que con su imaginacin le saquen un gran provecho a este
tutorialparahacergrandescosas.

Sinnadamsquedecirmedespidohastalaprxima.

TutorialbyJdyb

También podría gustarte