AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TMyImage von Nightshade --> Transparente Bilder??
Thema durchsuchen
Ansicht
Themen-Optionen

TMyImage von Nightshade --> Transparente Bilder??

Ein Thema von Speedmaster · begonnen am 17. Mär 2005 · letzter Beitrag vom 19. Mär 2005
Antwort Antwort
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#1

TMyImage von Nightshade --> Transparente Bilder??

  Alt 17. Mär 2005, 20:11
Wie kann ich durchsichtige Bilder bei der Komponente von Nightshade realisieren??
Bisher habe ich folgendes versucht(Habe noch nie eine Komponente entwickelt, und habe daher praktisch null Ahnung):

Delphi-Quellcode:
unit MyImage;
 
interface
 
uses
  SysUtils, Classes, Controls, ExtCtrls, Graphics, Messages;
 
type TMyImage =class(TImage)
  private
    FOnMouseEnter: TNotifyEvent;
    FOnMouseLeave: TNotifyEvent;
    FMLPic: TPicture;
    FMEPic: TPicture;
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
    procedure SetMEPic(const Value: TPicture);
    procedure SetMLPic(const Value: TPicture);
  protected
  public
    TransparenySec: Boolean;
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
  published
    property OnMouseEnter : TNotifyEvent read FOnMouseEnter Write FOnMouseEnter;
    property OnMouseLeave : TNotifyEvent read FOnMouseLeave Write FOnMouseLeave;
    property MouseEnterPicture : TPicture read FMEPic write SetMEPic;
    property MouseLeavePicture : TPicture read FMLPic write SetMLPic;
end;
 
procedure Register;
 
implementation
 
procedure Register;
begin
  RegisterComponents('Zusätzlich', [TMyImage]);
end;
 
 
{ TMyImage } 
 
procedure TMyImage.CMMouseEnter(var Message: TMessage);
begin
  if Message.Msg=CM_MOUSEENTER then begin
    if csDesigning in ComponentState then begin
      if FMLPic.Bitmap <> NIL then picture.Bitmap.Assign(FMLPic.Bitmap);
    end
    else begin
      if FMEPic.Bitmap <> NIL then picture.Bitmap.Assign(FMEPic.Bitmap);
    end;
    if ( Assigned(FOnMouseEnter) ) then FOnMouseEnter(self);
    Picture.Bitmap.TransparentMode := tmFixed;
    Picture.Bitmap.TransparentColor := clBlack;
    Picture.Bitmap.Transparent := TransparenySec;
    repaint;
  end;
end;
 
procedure TMyImage.CMMouseLeave(var Message: TMessage);
begin
  if Message.Msg=CM_MOUSELEAVE then begin
    if FMLPic.Bitmap <> NIL then picture.Bitmap.Assign(FMLPic.Bitmap);
    if ( Assigned(FOnMouseLeave) ) then FOnMouseLeave(self);
    repaint;
  end;
end;
 
constructor TMyImage.Create(AOwner: TComponent);
begin
  inherited;
  FMLPic := TPicture.Create;
  FMEPic := TPicture.Create;
end;
 
destructor TMyImage.Destroy;
begin
  FreeAndNil(FMLPic);
  FreeAndNil(FMEPic);
  inherited;
end;
 
procedure TMyImage.SetMEPic(const Value: TPicture);
begin
  FMEPic.Bitmap.Assign(Value.Bitmap);
end;
 
procedure TMyImage.SetMLPic(const Value: TPicture);
begin
  FMLPic.Bitmap.Assign(Value.Bitmap);
end;
 
 
end.
Hier gibts den Orginal Code!

Und nein, mit Transparency im Objektinspektor auf "True" Funktioniert es nicht!
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#2

Re: TMyImage von Nightshade --> Transparente Bilder??

  Alt 18. Mär 2005, 11:59
Keiner eine Idee? *Push*
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#3

Re: TMyImage von Nightshade --> Transparente Bilder??

  Alt 19. Mär 2005, 08:47
*Last Time Push*

Hoffe die Mods sind mir deswegen nicht böse!
Felix K.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:19 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