Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Ayuda dinámica

Tengo este formulario

El cuadro gris que se ve abajo a la derecha es un TListBox que sea crea de forma dinámica al pulsar el BitBtn que se ve a la izquierda. Par ello uso este código:
Código:
void __fastcall TfTablas::BotAyu(TObject *Sender)
{
     TBitBtn *Boton = dynamic_cast<TBitBtn *>(Sender);
    TComponent *Source;
     POINT P1, P2;

    for (nItem = 0; nItem < this->ComponentCount; nItem ++)
     {
          Source = this->FindComponent("AyuLis");
          if (Source != NULL)
               return;
     }

    for (nItem = 0; nItem < this->ComponentCount; nItem ++)
     {
          Source = this->FindComponent(Boton->Name.SubString(2, Boton->Name.Length()));
          if (Source != NULL)
               if (Source->ClassNameIs("TEdit") || Source->ClassNameIs("TLabeledEdit"))
               {
                    AyuEdit = static_cast<TCustomEdit *>(Source);
                    break;
               }
     }

     if (Source == NULL)
          return;

     P1.x = AyuEdit->Parent->Left + AyuEdit->Left;
     P1.y = AyuEdit->Parent->Top + AyuEdit->Top + AyuEdit->Height;
     P2   = ClientToScreen(P1);

     AyuLis              = new TListBox(this);
     AyuLis->Name        = "AyuLis";
     AyuLis->Parent      = this;
     AyuLis->BevelInner  = bvNone;
     AyuLis->BevelKind   = bkFlat;
     AyuLis->BevelOuter  = bvLowered;
     AyuLis->BorderStyle = bsNone;
     AyuLis->Color       = clSilver;
     AyuLis->Height      = 10 * AyuLis->ItemHeight;
     AyuLis->Left        = P2.x;
     AyuLis->Top         = P2.y;
     AyuLis->Width       = AyuEdit->Width + Boton->Width;
     AyuLis->OnClick     = AyuLisClick;
}
La idea, lógicamente, es que dicha ayuda aparezca justo debajo del TEdit correspondiente pero no sé como convertir esas coordenadas obtenidas con ClientToScreen de forma que se muestre como deseo.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
clave dinámica cmfab Varios 2 26-03-2012 16:02:57
Pagina Web Dinamica Rabata Varios 8 31-10-2005 18:00:08
Grilla dinamica zugazua2001 OOP 1 04-10-2004 18:52:02
Construcción de SQL dinámica Aprendiz SQL 2 10-10-2003 14:39:35


La franja horaria es GMT +2. Ahora son las 00:12:47.


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