AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Button auf ComboBox

Ein Thema von NicNacMan · begonnen am 3. Aug 2004 · letzter Beitrag vom 30. Sep 2004
Antwort Antwort
Benutzerbild von NicNacMan
NicNacMan

Registriert seit: 28. Mai 2004
Ort: Hamburg
98 Beiträge
 
Delphi 2005 Personal
 
#1

Button auf ComboBox

  Alt 3. Aug 2004, 11:33
hi,

ich hab ein kleines problem beim zeichnen auf eine combobox:
ich will ein transparentes bitmap auf den button zeichnen,
aber wenn das bild kleiner ist als das rect, wird es nicht gezeichnet
(scheint an "Brush.Style := bsClear" zu liegen, da es ohne geht).
mit offsetx/-y zentrier ich das bild.

Delphi-Quellcode:
var
  OffsetX, OffsetX: Integer;
  R, Rgfx : TRect;
  C : TControlCanvas;

...

  if (not FPicture.Empty) then
    begin
      FPicture.TransparentColor := FTransparentColor;
      FPicture.Transparent := FTransparent;

      OffsetX := (Rgfx.Right - Rgfx.Left - FPicture.Width ) div 2;
      OffsetY := (Rgfx.Bottom - Rgfx.Top - FPicture.Height) div 2;
      R := Rgfx;
      OffsetRect(R, -R.Left-OffsetX, -R.Top-OffsetY);

// so gehts zwar, aber ohne transparent
      C.CopyRect(Rgfx, FPicture.Canvas, R);


// und so gehts nur, wenn das bild größer ist, als Rgfx
      C.Brush.Style := bsClear;
      C.BrushCopy(Rgfx, FPicture, R, FTransparentColor);

    end;

...
ich habs auch schon mit einem 2ten bitmap (weil ich FPicture nicht verändern will) versucht,
in das ich dann den teil, den ich brauche kopiere, und dann das 2te bitmap mit Canvas.Draw zeichne.
das ging zwar, aber da ich das ganze in meiner komponente verwende, fängt die an zu flackern.

gibt es noch andere möglichkeiten, transparent teile eines bitmaps zu kopieren?
den ganzen aufwand mach ich ja eigentlich nur, weil das bild mittig auf dem button sitzen soll,
und der rand nicht über die eingabefläche der combobox gezeichnet werden soll,
kann man das vll auch einfacher lösen (also das zentrieren meine ich)?

thx schonmal
nicnacman
The Double-Crunch-Peanuts!
SwapIt:
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Button auf ComboBox

  Alt 30. Sep 2004, 00:25
Moin,

was spricht gegen einen SpeedButton?


MfG
Thorsten
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:11 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