AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Excel-Addin und Tranzparenz bei CommandBarButtons
Thema durchsuchen
Ansicht
Themen-Optionen

Excel-Addin und Tranzparenz bei CommandBarButtons

Ein Thema von Jens Schumann · begonnen am 30. Sep 2005 · letzter Beitrag vom 30. Sep 2005
 
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

Excel-Addin und Tranzparenz bei CommandBarButtons

  Alt 30. Sep 2005, 07:23
Hallo,
ich bastel seit einiger Zeit an einem Excel-Addin.
Funktioniert eigntlich als ganz gut. Bis auf die Kleinigkeit,
dass ich es noch geschafft habe die CommandBarButtons
transparent darzustellen (siehe Bild).

Weiss jemand wie das geht?

Hier der Source mit dem die Buttons erzeugt werden.
Delphi-Quellcode:
function TExcelAddin.CreateCommandBarButton(const aCommandBar: CommandBar;
                                            const CommandBarButtonCaption,
                                                  CommandBarButtonToolTip,
                                                  CommandBarButtonTag: String;
                                                  CommandBarSytle: TOleEnum;
                                      ImageIndex : Integer): CommandBarButton;
var
  iCnt : Integer;
  ControlsCount : Integer;
  ControlTag : String;
  CBarControl : CommandBarControl;
  ButtonFace : TBitmap;
begin
  Result:=Nil;
  CBarControl:=Nil;
  ControlsCount:=aCommandBar.Controls.Count;
  // Gibt es schon einen Button mit dem gleichen Tag?
  For iCnt:=1 to ControlsCount do
    begin
    ControlTag:=aCommandBar.Controls.Item[iCnt].Tag;
    If AnsiUpperCase(ControlTag)= AnsiUpperCase(CommandBarButtonTag) then
      begin
      CBarControl:=aCommandBar.Controls.Item[iCnt];
      Result:=CBarControl as CommandBarButton;
      Exit;
      end;
    end; // For iCnt:=1 to ControlsCount do
  CBarControl:=aCommandBar.Controls.Add(msoControlButton,EmptyParam,EmptyParam,EmptyParam,False);
  Result:=CBarControl as CommandBarButton;
  Result.Set_Style(CommandBarSytle); // = msoButtonIcon
  Result.Set_Caption(CommandBarButtonCaption);
  Result.Set_TooltipText(CommandBarButtonToolTip);
  Result.Set_Tag(CommandBarButtonTag);
  Result.Set_FaceId(0);

{Da das Addin auch unter Excel2000 laufen soll muss das Bild
über die Zwischenablage auf/in den Button kopiert werden.
ExcelXP hat dafür eine Picture-Eigenschaft}

  ButtonFace:=TBitmap.Create;
  Try
    DM.ImageList.GetBitmap(ImageIndex,ButtonFace);
    clipboard.Assign(ButtonFace) ;
    Result.PasteFace;
  Finally
    ButtonFace.Free;
    end;
end;
Angehängte Grafiken
Dateityp: jpg transparenz_363.jpg (55,9 KB, 23x aufgerufen)
I come from outer space to save the human race
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz