Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2006
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Redibujar un bitbtn en tiempo de ejecución

Tengo un bitmapbutton que carga el bmp de un componente imageresource.

Al iniciar el programa, le cargo la imagen con el siguiente código:
Código Delphi [-]
  DataModule.imageResources.GetBitmap(0, bbAL.Glyph);
y no tengo ningún problema.

Pero al intentar cambiarlo en el evento
Código Delphi [-]
procedure TGraphForm.bbALClick(Sender: TObject);
begin
  if bAL then
    begin
      DataModule.imageResources.GetBitmap(4, bbAL.Glyph);
      bAL := False
    end
  else
    begin
      DataModule.imageResources.GetBitmap(0, bbAL.Glyph);
      bAL := True
    end
end;
Entra pero no hace nada. El booleano está declarado como variable global y esa condición la cumple sin problemas.

No se me ocurre como hacerlo, pero he encontrado este código que tampoco acabo de comprender completamente:
Código Delphi [-]
  var
    MyBtnGlyph: HBitmap;
    MyBtnBmp: TBitmap;
  begin
    MyBtnBmp := TBitmap.Create;
    MyBtnGlyph := LoadBitmap(HINSTANCE, 'MYBMP'); 
    {MYBMP is the name of the bitmap in the resource file.}
    MyBtnBmp.Handle := MyBtnGlyph;
    MyBtn.Glyph := MyBtnBmp;
    MyBtn.NumGlyphs := 1; {Obviously depends on the bitmap.}
    MyBtnBmp.Free;
  end;
Se que "MyBtn" ha de ser "bbAL", pero la linea de
"MyBtnGlyph := LoadBitmap(HINSTANCE, 'MYBMP');"
me tiene totalmente perdido, ya que no se a que hace referencia
"MYBMP"
ya que tengo las imagenes en el imagelist e indexadas.

Gracias por la ayuda y mientras sigo mirando.
Papulo.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #2  
Antiguo 06-06-2006
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Solucion

Casimiro Notevi me ha dado la solución, que es bien sencilla.

Solamente tenía que añadir

Código Delphi [-]
  bbMA.Glyph := nil;
Antes de cargar la nueva imagen en el boton.

El código queda así:
Código Delphi [-]
procedure TGraphForm.bbALClick(Sender: TObject);
begin
  bbMA.Glyph := nil;
    if bAL then
       begin
        DataModule.imageResources.GetBitmap(4, bbAL.Glyph);
        bAL := False
      end
    else
      begin
        DataModule.imageResources.GetBitmap(0, bbAL.Glyph);
        bAL := True
      end
  end;
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Menús en tiempo de ejecución pepetonic2001 OOP 21 22-06-2006 14:51:54
componentes en tiempo de ejecución Maga84 OOP 13 21-05-2005 19:49:06
Como crear un BitBtn en ejecución Javi2 Varios 2 17-01-2005 16:06:03
combobox tiempo de ejecución Dantael OOP 3 21-12-2004 22:09:21
Tiempo de ejecucion? st7 Varios 3 11-05-2004 22:03:28


La franja horaria es GMT +2. Ahora son las 01:07:51.


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