Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

¿Que control puedo utilizar?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ¿Que control puedo utilizar? Responder citando

Hola a tod@s,

estoy haciendo una modificación sobre una aplicación. En un formulario de esta aplicación se selecciona un archivo que se tiene que importar. Lo que ahora quiero hacer es que además de seleccionar el archivo, el usuario escoja también la capa en la que quiere importar dicho archivo.

He intentado utilitzar un TValueListEditor, ya que me permitía tener dos columnas y que la segunda de estas fuera un ComboBox (de donde el usuario escoje la capa donde importar), pero me da muchos problemas a la hora de bloquear la escritura en los campos, combinándolo con el ComboBox. Además, también me da algún problema a la hora de eliminar la fila, ya que no la puedo seleccionar toda si la segunda columna es un ComboBox.

¿Alguien me podría hechar una mano con este control o decirme si hay alguno similar en el que pueda tener dos columnas, la primera para introducir un texto y la segunda para seleccionar un valor de un ComboBox?

Muchas gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola, lo que podrias hacer es usar un TStringGrid y agregarle un ComboBox, este ejemplo lo tenia por ahi (no recuerdo exactamente de donde lo saque, creo que de visualcomponent), espero te sirva:

Hace un StringGrid, y un ComboBox a tu proyecto y usa el siguiente codigo:

Código:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------



//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 StringGrid1->Cells[0][0] = "Nombre";
 StringGrid1->Cells[1][0] = "Apellido";
 StringGrid1->Cells[2][0] = "Sexo";
 StringGrid1->Cells[3][0] = "Direccion";
 StringGrid1->Cells[4][0] = "Email";
 StringGrid1->Cells[5][0] = "Telefono";
 StringGrid1->Cells[6][0] = "Celular";
 StringGrid1->Cells[7][0] = "Otros";
 ComboBox1->Items->Clear();
 ComboBox1->Items->Add("Seleccione");
 ComboBox1->Items->Add("Masculino");
 ComboBox1->Items->Add("Femenino");
 ComboBox1->ItemIndex=0;
 ComboBox1->Style=csDropDownList;

 ComboBox1->Visible=false;

}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1Click(TObject *Sender)
{
if( StringGrid1->Col == 2 )
    {
        TRect Recto     = StringGrid1->CellRect(StringGrid1->Col, StringGrid1->Row);
        ComboBox1->Top  = StringGrid1->Top;
        ComboBox1->Left = StringGrid1->Left;
        ComboBox1->Top  = ComboBox1->Top + Recto.Top + StringGrid1->GridLineWidth;
        ComboBox1->Left = ComboBox1->Left + Recto.Left + StringGrid1->GridLineWidth + 1;
        ComboBox1->Height = (Recto.Bottom - Recto.Top) + 1;
        ComboBox1->Width  = Recto.Right - Recto.Left;
        ComboBox1->Visible = True;
    }
    else
        ComboBox1->Visible = False;

}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
 if(ComboBox1->ItemIndex!=0)
  StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] =
     ComboBox1->Items->Strings[ComboBox1->ItemIndex];
 else
  ComboBox1->ItemIndex=1;
}
//---------------------------------------------------------------------------



Espero te sirva de algo
Suerte!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.