日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

制作放两个小图片的按钮 - 回复 xhui 的问题

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 制作放两个小图片的按钮 - 回复 xhui 的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??


問題來源: http://www.cnblogs.com/del/archive/2009/03/12/1409708.html#1475240

本例效果圖:



自定義的類(TMyButton):
unit Unit2;interfaceusesWindows, Messages, Classes, Graphics, StdCtrls;typeTMyButton = class(TButton)privateFBit1,FBit2: TBitmap;protectedprocedure WMPaint(var Message: TWMPaint); message WM_PAINT;publicconstructor Create(AOwner: TComponent); override;destructor Destroy; override;procedure Click; override;end;implementation{ TMyButton }procedure TMyButton.Click; begininherited;MessageBox(0, 'MyButton', 'Hi', MB_OK); end;constructor TMyButton.Create(AOwner: TComponent); varwh: Integer; begininherited;FBit1 := TBitmap.Create;FBit2 := TBitmap.Create;//在此可以載入圖片, 為了測試方便, 我隨便畫兩個矩形吧wh := Height - 8;FBit1.SetSize(wh, wh);FBit2.SetSize(wh, wh);FBit1.Canvas.Brush.Color := clRed;FBit1.Canvas.Rectangle(0, 0, wh, wh);FBit2.Canvas.Brush.Color := clLime;FBit2.Canvas.Rectangle(0, 0, wh, wh); end;destructor TMyButton.Destroy; beginFBit1.Free;FBit2.Free;inherited; end;procedure TMyButton.WMPaint(var Message: TWMPaint); varcvs: TCanvas;DC: HDC; beginInherited;DC := GetDC(Handle);cvs := TCanvas.Create;cvs.Handle := DC;cvs.Draw(4, (Height - FBit2.Height) div 2, FBit1);cvs.Draw(Width - FBit2.Width - 4, (Height - FBit2.Height) div 2, FBit2);cvs.Free;ReleaseDC(Handle, DC); end;end.

測試代碼:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses Unit2;procedure TForm1.Button1Click(Sender: TObject); beginwith TMyButton.Create(Self) do beginParent := Self;Left := Random(Self.ClientWidth - Width);Top := Random(Self.ClientHeight - Height);end; end;end.

轉載于:https://my.oschina.net/hermer/blog/319302

總結

以上是生活随笔為你收集整理的制作放两个小图片的按钮 - 回复 xhui 的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。