如何给button按扭加上bitbtn的位图属性=======在线等======== 急~~~~~~~~~~~~~~~~~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 它有一个Glyph的属性,你可以在设计期间选图,也可以在运行时这样bitbtn.Glyph.LoadFromFile('1.bmp'); 很谢谢你的大力帮助我想问的是把bitbtn的个别属性再给他加到button上呀是如何做到的呀?? 在你Button中的Published域声明一个TBitmap类型的属性就行了。注意一定要是published Public那个属性就可以了其实你干脆用BitBtn算了 为什么非要button;如果要用到图标的话;bitbtn;speedbutton要远比button好用;^_^ 这是要在自定义组件里定义呢还是能直接在form里直接给他增加呢??? 去看看TBitBtn的源代码,上面写的很清楚 TBitBtn不就是从TButton继承来让你能加个图片的吗?你用TBitBtn不就完了你实在是想自己做,那就去看TBitBtn的源代码吧不过Button控件的绘制和其他从TCustomControl自己画是不太一样的,Button是Windows的通用控件,它的绘制关系到 CN_MEASUREITEM 和 CN_DRAWITEM procedure TForm1.Button1Click(Sender: TObject);var objImage:TImage;begin objImage := TImage.Create(Button1); objImage.Parent :=Button1; objImage.Left := 0; objImage.Top := 0; objImage.Width := Button1.Width div 2; objImage.Height := Button1.Height; objImage.Picture.LoadFromFile('D:\Program Files\Common Files\Borland Shared\Images\Default\delphi.ico');end; 将上面的作为扩展Button的一个方法就行了,我试了一下,还可以。 TBitBtn = class(TButton) private FCanvas: TCanvas; FGlyph: Pointer; FStyle: TButtonStyle; FKind: TBitBtnKind; FLayout: TButtonLayout; FSpacing: Integer; FMargin: Integer; IsFocused: Boolean; FModifiedGlyph: Boolean; procedure DrawItem(const DrawItemStruct: TDrawItemStruct); procedure SetGlyph(Value: TBitmap); function GetGlyph: TBitmap; function GetNumGlyphs: TNumGlyphs; procedure SetNumGlyphs(Value: TNumGlyphs); procedure GlyphChanged(Sender: TObject); function IsCustom: Boolean; function IsCustomCaption: Boolean; procedure SetStyle(Value: TButtonStyle); procedure SetKind(Value: TBitBtnKind); function GetKind: TBitBtnKind; procedure SetLayout(Value: TButtonLayout); procedure SetSpacing(Value: Integer); procedure SetMargin(Value: Integer); procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM; procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM; procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED; procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK; protected procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override; procedure CreateHandle; override; procedure CreateParams(var Params: TCreateParams); override; function GetPalette: HPALETTE; override; procedure SetButtonStyle(ADefault: Boolean); override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Click; override; published property Action; property Anchors; property BiDiMode; property Cancel stored IsCustom; property Caption stored IsCustomCaption; property Constraints; property Default stored IsCustom; property Enabled; property Glyph: TBitmap read GetGlyph write SetGlyph stored IsCustom; property Kind: TBitBtnKind read GetKind write SetKind default bkCustom; property Layout: TButtonLayout read FLayout write SetLayout default blGlyphLeft; property Margin: Integer read FMargin write SetMargin default -1; property ModalResult stored IsCustom; property NumGlyphs: TNumGlyphs read GetNumGlyphs write SetNumGlyphs stored IsCustom default 1; property ParentShowHint; property ParentBiDiMode; property ShowHint; property Style: TButtonStyle read FStyle write SetStyle default bsAutoDetect; property Spacing: Integer read FSpacing write SetSpacing default 4; property TabOrder; property TabStop; property Visible; property OnEnter; property OnExit; end; 看看VCL本身的代码,然后你就什么都知道了,肚子饿 delphi,里面的一个SQL语句使用到了SHAPE。请问SHAPE作用是什么?谢谢。 USB Hid设备的区分 让非主窗体最小化相当于程序最小化 在线等待-有关语音输入和语音识别的问题。大家都来看一看!帮帮忙了!急死了! 大话西游是用什么做的啊? 如何取得CheckListBox中所选择的内容? 苦恼,不知到你们遇到没有? 请教高手:关于线程的问题。 关于winsock接受数据的问题。(我收不到数据) delphi关于开发ASP组件问题 哪里有b/s编程的应用例子(demo也行)? 求助:为什么出现异常?
bitbtn.Glyph.LoadFromFile('1.bmp');
我想问的是把bitbtn的个别属性再给他加到button上呀
是如何做到的呀??
如果要用到图标的话;bitbtn;speedbutton要远比button好用;^_^
你用TBitBtn不就完了你实在是想自己做,那就去看TBitBtn的源代码吧
不过Button控件的绘制和其他从TCustomControl自己画是不太一样的,
Button是Windows的通用控件,它的绘制关系到 CN_MEASUREITEM 和 CN_DRAWITEM
var
objImage:TImage;
begin
objImage := TImage.Create(Button1);
objImage.Parent :=Button1;
objImage.Left := 0;
objImage.Top := 0;
objImage.Width := Button1.Width div 2;
objImage.Height := Button1.Height;
objImage.Picture.LoadFromFile('D:\Program Files\Common Files\Borland Shared\Images\Default\delphi.ico');
end;
private
FCanvas: TCanvas;
FGlyph: Pointer;
FStyle: TButtonStyle;
FKind: TBitBtnKind;
FLayout: TButtonLayout;
FSpacing: Integer;
FMargin: Integer;
IsFocused: Boolean;
FModifiedGlyph: Boolean;
procedure DrawItem(const DrawItemStruct: TDrawItemStruct);
procedure SetGlyph(Value: TBitmap);
function GetGlyph: TBitmap;
function GetNumGlyphs: TNumGlyphs;
procedure SetNumGlyphs(Value: TNumGlyphs);
procedure GlyphChanged(Sender: TObject);
function IsCustom: Boolean;
function IsCustomCaption: Boolean;
procedure SetStyle(Value: TButtonStyle);
procedure SetKind(Value: TBitBtnKind);
function GetKind: TBitBtnKind;
procedure SetLayout(Value: TButtonLayout);
procedure SetSpacing(Value: Integer);
procedure SetMargin(Value: Integer);
procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM;
procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);
message WM_LBUTTONDBLCLK;
protected
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
procedure CreateHandle; override;
procedure CreateParams(var Params: TCreateParams); override;
function GetPalette: HPALETTE; override;
procedure SetButtonStyle(ADefault: Boolean); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Click; override;
published
property Action;
property Anchors;
property BiDiMode;
property Cancel stored IsCustom;
property Caption stored IsCustomCaption;
property Constraints;
property Default stored IsCustom;
property Enabled;
property Glyph: TBitmap read GetGlyph write SetGlyph stored IsCustom;
property Kind: TBitBtnKind read GetKind write SetKind default bkCustom;
property Layout: TButtonLayout read FLayout write SetLayout default blGlyphLeft;
property Margin: Integer read FMargin write SetMargin default -1;
property ModalResult stored IsCustom;
property NumGlyphs: TNumGlyphs read GetNumGlyphs write SetNumGlyphs stored IsCustom default 1;
property ParentShowHint;
property ParentBiDiMode;
property ShowHint;
property Style: TButtonStyle read FStyle write SetStyle default bsAutoDetect;
property Spacing: Integer read FSpacing write SetSpacing default 4;
property TabOrder;
property TabStop;
property Visible;
property OnEnter;
property OnExit;
end;