Creamos un formulario llamado TestBar, luego vamos a fijar las siguientes propiedades a su diseño:
Ahora vamos al código.
01 public void run()
02 {
03
04 TreeNode treeNode;
05 TreeNodeIterator iterator;
06 FormButtonControl button;
07 ;
08
09 super();
10 treeNode = infolog.userNode();
11 iterator = treeNode.AOTiterator();
12 treeNode = iterator.next();
13
14 treeNode = treeNode.AOTfindChild('Mis Favoritos');
15 iterator = treeNode.AOTiterator();
16
17 while (iterator)
18 {
19
20 treeNode = iterator.next();
21 if (treeNode)
22 {
23 button = element.design().addControl(FormControlType::Button,'Dynamic');
24 button.text(treenode.treeNodeName());
25
26
27 button.border(4);
28 this.controlMethodOverload(true);
29
30
31 }
32 else
33 break;
34 }
35
36}
En la línea 23 agregamos un botón "coqueto", al cúal se le llamará Dynamic, todo lo demás se explicó en post anteriores (Controles Dinámicos en Ax y Leyendo el menú favoritos desde código).
01 void Dynamic_Clicked()
02{
03 TreeNode treeNode;
04 TreeNodeIterator iterator;
05 #AOT
06 ;
07
08 treeNode = infolog.userNode();
09 iterator = treeNode.AOTiterator();
10 treeNode = iterator.next();
11
12 treeNode = treeNode.AOTfindChild('Mis Favoritos');
13 iterator = treeNode.AOTiterator();
14 while (iterator)
15 {
16 treeNode = iterator.next();
17 if (!treeNode)
18 break;
19
20 if (treeNode.treeNodeName()==element.controlCallingMethod().labelText())
21 {
22 treeNode.AOTrun();
23 break;
24 }
25
26 }
27
28 }
Bueno, en este caso se busca el menú y se compara en la línea 20 para saber cuál de todos los botones creados fue el que llamó el método, y en la línea 22 se ejecuta la opción.
Así queda la barra, ya ustedes le darán un mejor formato.
:)
No comments:
Post a Comment