AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Imgbtn with caption?

Ein Thema von Razor · begonnen am 25. Jan 2009 · letzter Beitrag vom 7. Feb 2009
Antwort Antwort
Seite 2 von 2     12   
Razor
(Gast)

n/a Beiträge
 
#11

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:20
Wouldnt be simplier to implement caption of a normal button?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:22
Perhaps it would be easier to add the ability to show an image to a button
Markus Kinzler
  Mit Zitat antworten Zitat
invalid_operation
(Gast)

n/a Beiträge
 
#13

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:23
Zitat von DeddyH:
Delphi-Quellcode:
type TImgBtn = class(TImage)
...
protected
  procedure Paint;override;
...
end;
@invalid_operation: Wenn Du nichts Konstruktives beisteuern kannst, lass es doch einfach
@DeddyH: GENAU meine Rede seit mehr als zehn Jahren! Wo hast Du Denken gelernt?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:28
Bitte beherrscht euch ein wenig und beschränkt euch auf die Beantwortung des Themas
Markus Kinzler
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#15

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:36
So there is no solution to this?I really didnt understand deddy h comments.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#16

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:43
Just put my suggestions together for testing
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#17

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:57
It dosent work?!

I am thinking of buy some profesional skining components couse this is just nah

unit ImgBtn;

//* ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++ *//
//* ImgBtn. Delphi 3, 4
//*
//* This component turns 3 images to button with 3 states : normal, MouseOver
//* and Pressed. I've also added some importent events.
//*
//* Writen by Paul Krestol.
//* For contacts e-mail me to : paul@mediasonic.co.il
//* ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++ *//


interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;

type
TOnMouseEvent = procedure( Msg: TWMMouse ) of object;

TImgBtn = class( TImage )
protected
procedure WMMouseEnter( var Msg : TWMMouse ); message CM_MOUSEENTER;
procedure WMMouseLeave( var Msg : TWMMouse ); message CM_MOUSELEAVE;
procedure WMLButtonUp( var Msg : TWMLButtonUp ); message WM_LBUTTONUP;
procedure WMLButtonDown( var Msg : TWMLButtonUp ); message WM_LBUTTONDOWN;
private
FEntered : boolean;
FDown : boolean;
FOnMouseEnter : TOnMouseEvent;
FOnMouseLeave : TOnMouseEvent;
FOnMouseDown : TOnMouseEvent;
FOnMouseUp : TOnMouseEvent;
FPic : TPicture;
FPicDown : TPicture;
FPicUp : TPicture;
FSupported : boolean;
procedure SetPic( Value : TPicture );
procedure SetPicDown( Value : TPicture );
procedure SetPicUp( Value : TPicture );

public
constructor Create( AOwner: TComponent ); override;
destructor Destroy; override;
published
//** Images **//
property Pic : TPicture read FPic write SetPic;
property PicDown : TPicture read FPicDown write SetPicDown;
property PicUp : TPicture read FPicUp write SetPicUp;
procedure Paint;override;
//** Events **//
property OnMouseDown : TOnMouseEvent read FOnMouseDown write FOnMouseDown;
property OnMouseEnter : TOnMouseEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave : TOnMouseEvent read FOnMouseLeave write FOnMouseLeave;
property OnMouseUp : TOnMouseEvent read FOnMouseUp write FOnMouseUp;
property Supported : boolean read FSupported write FSupported;
end;

procedure Register;

implementation
{$R *.RES}

(************************************************* ******************************)
procedure Register;
begin
RegisterComponents( 'Plus', [ TImgBtn ] );
end;

(************************************************* ******************************)
constructor TImgBtn.Create;
begin
inherited;
FPic := TPicture.Create;
FPicUp := TPicture.Create;
FPicDown := TPicture.Create;
FEntered := False;
FDown := False;
FSupported := True;
end;
procedure TImgBtn.Paint ;
begin
inherited;
Canvas.Brush.Style := bsClear;
Canvas.TextOut(0,0,'Hello World');
end;
(************************************************* ******************************)
destructor TImgBtn.Destroy;
begin
FPic.Free;
FPicDown.Free;
FPicUp.Free;
inherited;
end;

(************************************************* ******************************)
procedure TImgBtn.WMMouseEnter( var Msg: TWMMouse );
begin
if not FSupported then Exit;
FEntered := True;
if FDown then Picture := FPicDown else Picture := FPicUp;
if Assigned( FOnMouseEnter ) then FOnMouseEnter( Msg );
end;

(************************************************* ******************************)
procedure TImgBtn.WMMouseLeave( var Msg: TWMMouse );
begin
if not FSupported then Exit;
FEntered := False;
Picture := FPic;
if Assigned( FOnMouseLeave ) then FOnMouseLeave( Msg );
end;

(************************************************* ******************************)
procedure TImgBtn.WMLButtonDown(var Msg: TWMMouse);
begin
inherited;
if not FSupported then Exit;
FDown := True;
if FEntered then Picture := FPicDown;
if Assigned( FOnMouseDown ) then FOnMouseDown( Msg );
end;

(************************************************* ******************************)
procedure TImgBtn.WMLButtonUp(var Msg: TWMMouse);
begin
inherited;
if not FSupported then Exit;
FDown := False;
if FEntered then Picture := FPicUp;
if Assigned( FOnMouseUp ) then FOnMouseUp( Msg );
end;

(************************************************* ******************************)
procedure TImgBtn.SetPic( Value : TPicture );
begin
Picture := Value;
FPic.Assign( Value );
end;

(************************************************* ******************************)
procedure TImgBtn.SetPicDown( Value : TPicture );
begin
FPicDown.Assign( Value );
end;

(************************************************* ******************************)
procedure TImgBtn.SetPicUp( Value : TPicture );
begin
FPicUp.Assign( Value );
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#18

Re: Imgbtn with caption?

  Alt 25. Jan 2009, 13:58
Please edit your last post and add your current source as attachment.

[edit] Ah, I recognized the problem. Therefore I changed this component as a descendant of TGraphicControl instead of TImage. It is not fully functional now, but you can see what I meant in my prior posts. But you can add a Caption- (and maybe a Font-)property on your own now. You only have to edit the paint-method . And it is not a bad idea to see if all three pictures contain a graphic before you paint them to your canvas. [/edit]
Angehängte Dateien
Dateityp: pas imgbtn_134.pas (4,6 KB, 8x aufgerufen)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#19

Re: Imgbtn with caption?

  Alt 7. Feb 2009, 13:48
I need it becouse i want recreate this thing.DeddyH can this control be made so it contains caption and another iamge for the icon of the program.So i dont have to create 3 controls(panel,imagebtn,caption and another image for the icon).
Miniaturansicht angehängter Grafiken
899_132.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:28 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