Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2003
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 21
silviodp Va por buen camino
TTreeView y Form principal

Estoy haciendo una aplicación donde pongo un componente TTreeView en un Form que actúa como principal (Autocreate, FormStyle=fsMDIForm).
Lo que quiero hacer es que cuando hago click en una rama que no tiene subramas me habra un form y me deje hacer determinada operación.
Ej: Click en Clientes me habra un form con los datos de un determinado cliente.

El problema es que no sé como se hace para trabajar con una subrama cosa que en su evento OnClick escribir el código para que me habra el form que quiero. Ya que me deja hacerlo pero en el evento OnClick del TTreeView.

Otro problema es que me abre el nuevo form debajo del componente TTreeView y no puedo ver parte del Formulario.
Como se puede hacer para que me aparezca por encima del TTreeView?

Espero me hayan entendido.
Saludos.

SDP.-
Responder Con Cita
  #2  
Antiguo 17-05-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Cuando haces click sobre el TTreeView, puedes consultar su propiedad Selected que devuelve el TreeNode seleccionado en ese momento (si pones a TRUE ala propiedad RightClickSelect esto valdrá también para cuando hagas click con el botón derecho). Si el TreeNode devuelto por Selected tiene a FALSE la propiedad HasChildren, es que no tiene subramas. Esto viene en la ayuda de Delphi (pulsar F1 sobre el componente en cuestión).

Lo de que al abrir un formulario te aparezca detrás del TreeView, quizás sea porque el formulario donde está el TreeView tenga la propiedad FormStyle = StayOnTop.

Ya nos dirás
Responder Con Cita
  #3  
Antiguo 18-05-2003
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 21
silviodp Va por buen camino
El form donde tengo el componente TTreeView está puesto como principal es decir:

Es Autocreate y FormStyle=fsMDIForm.-
Es la ventana principal de mi programa, quiero que el TTreeView actúe como un menú principal.-
Cosa que cuando haga click en una rama que no tiene hijos me abra una nueva ventana que haga determinada cosa.-

Con respecto a los TreeNodes, como hago para ver sus eventos que es lo que quiero, para escribir el código que me habra el Form nuevo.-
GRacias.-

SDP.-
Responder Con Cita
  #4  
Antiguo 18-05-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Cita:
Posteado originalmente por silviodp
El form donde tengo el componente TTreeView está puesto como principal es decir:
Es Autocreate y FormStyle=fsMDIForm.-
Si la aplicación no es MDI ¿por que el FormStyle no es Normal?

Cita:
Posteado originalmente por silviodp

Con respecto a los TreeNodes, como hago para ver sus eventos que es lo que quiero, para escribir el código que me habra el Form nuevo.-
El objeto TTreeNodes no tiene eventos tienes que utilzar los asociados a su contenedor el TTreeView.

Como pista para lo que quieres te paso estos códigos para que te sirvan de punto de partida:
Código:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
        if not TreeView1.Selected.HasChildren then
               with TForm2.Create(nil) do
                        try
                        caption:= 'Cliente '+TreeView1.Selected.Text;
                        ShowModal;
                        finally
                        Free;
                        end;
end;
Supón que tenemos un treeview con varias ramas una de ellas es Clientes que tiene como hijos a: Pepe, Paco y Chicho, al hacer clic en cualquiera de ellos se crea el form2 que tiene en el caption el texto 'Cliente' mas el nombre del Nodo.
Los códigos que requieres puedes pasarlos en el evento OnCreate del form2.
Solo te crea el form2 si el nodo seleccionado no tiene hijos.
Espero te sea útil este ejemplito.
Saludos y suerte
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:40:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi