Ver Mensaje Individual
  #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
Reputación: 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