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 

Bmp en TDbGrid

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Bmp en TDbGrid Responder citando

Hola, tengo un problema y es que cuando dibujo un bmp mediante un Draw(....)El Bmp no ocupa toda la celda y esteticamente no queda demasiado bien.Hay alguna forma de hacer que ocupe toda la celda??
Gracias
Volver arriba
Mensaje    Asunto: Bmp en TDbGrid Responder citando

Hola Xavi:

Puedes hacerlo con StretchDraw, que permite dibujar como Draw pero escalado. Supongo que estas usando el evento OnDrawDataCell, por ejemplo:

- He añadido un TImage de nombre Image1 y he cargado una imagen en el para probar, luego en el evento OnDrawDataCell:

 void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender,
    const TRect &Rect, TField *Field, TGridDrawState State)
 {
    //...
    //...Limpiamos el fondo, etc...
    //...
    TRect R = Rect;
    int AnchoBmp = Image1->Picture->Width;
    int AltoBmp = Image1->Picture->Height;
    // Escalamos el bitmap proporcionalmente
    R.Right = AnchoBmp * R.Height() / AltoBmp + Rect.Left;
    // Lo dibujamos en la celda
DBGrid1->Canvas->StretchDraw(R, Image1->Picture->Graphic);
    //...
 }


Saludos.

Volver arriba
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.