Einzelnen Beitrag anzeigen

Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: ComboBox mit anderem Button-Layout

  Alt 18. Feb 2010, 09:28
Also vll kann dir ThemeServices helfen, ich habe das genutzt um einen SpeedButton nach meinen Wünschen anzupassen.

Delphi-Quellcode:

procedure TThemesDropDownSpeedBtn.Paint;
var
  oThemeDetails: TThemedElementDetails;
  oThemeStyle: TThemedComboBox;
begin
  if ( ThemeServices.ThemesEnabled ) and not (csDesigning in ComponentState) then
  begin
    if Enabled then
    begin
      if (Down) or (FState = bsDown) then
      begin
        oThemeStyle := tcDropDownButtonPressed;
      end
      else
      begin
        if MouseInControl then
          coThemeStyle := tcDropDownButtonHot
        else
          oThemeStyle := tcDropDownButtonNormal;
      end;
    end
    else
    begin
      oThemeStyle := tcDropDownButtonDisabled;
    end;
    oThemeDetails := ThemeServices.GetElementDetails(oThemeStyle);
    ThemeServices.DrawElement(Canvas.Handle, oThemeDetails, ClientRect);
  end
  else
  begin
    inherited;
  end;
end;
Über die Delphi-Reference solltest du über ThemeServices alles wichtige herausfinden können.

MfG Alaitoc
  Mit Zitat antworten Zitat