form上放有多个图片,鼠标随机点击图片。怎么设计一个过程, 判断每张图片鼠标点击的次数。源码。谢谢
解决方案 »
- VCLSKIN启用后,如果主窗体DOCK一个窗体过来,为什么被DOCK进来的窗体无皮肤效果?
- 小诗一首 献丑了
- 关于控件的两个问题
- 有关INTERBASE 安装的怪问题
- table在open时如果先设定filter,并将filtered设为true,是否可以减小内存的消耗?
- 祝愿大家新春愉快特此散分,近日闲来无事做了一个小小的论坛欢迎大家批评指正
- 请问Delphi如何做WinSock2 SPI程序?高分相赠!
- 请问,怎么样在Delphi中独占Win 2000系统————- 锁定 Ctrl+Alt+Del???谢谢拉。。
- 如何跳到指定位置(RichEdit)?
- 高难度问题!!!如何在stringgrid网格中输入汉字,高分悬赏(130分),高手请进!!!
- 请教导入EXCEL 如何实现表中数量列数量是几 就将该行导入几次
- kbmmf 4.03 for D7 编译不了
二、定义全局变量M1、M2,记录二个图像被鼠标点击的次数。
三、代码:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
M1,M2:integer;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
M1:=0;
M2:=0;
Edit1.Text:=InttoStr(M1);
Edit2.Text:=InttoStr(M2);
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
M1:=M1+1;
Edit1.Text:=InttoStr(M1);
end;procedure TForm1.Image2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
M2:=M2+1;
Edit2.Text:=InttoStr(M2);
end;procedure TForm1.FormShow(Sender: TObject);
begin
M1:=0;
M2:=0;
Edit1.Text:=InttoStr(M1);
Edit2.Text:=InttoStr(M2);
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Memo1: TMemo;
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure DispimgClick;
end;var
Form1: TForm1;
img_clicks : array [0..4] of Integer;implementation{$R *.dfm}procedure TForm1.DispimgClick;
var
i : Integer;
begin
Memo1.Lines.Clear;
for i := Low(img_clicks) to High(img_clicks) do
begin
Memo1.Lines.Add('图片' + IntToStr(i+1) + '点击数:' + IntToStr(img_clicks[i]))
end;
end;procedure TForm1.Image1Click(Sender: TObject);
begin
img_clicks[(Sender as TImage).Tag] := img_clicks[(Sender as TImage).Tag] + 1;
DispimgClick;
end;end.
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnImageClick(sender: TObject);
procedure InitParam();
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}//image 控件点击事件
procedure TForm1.OnImageClick(sender: TObject);
begin
TImage(sender).Tag := TImage(sender).Tag+1;
TImage(sender).Hint:= Format('已点击%d次',[TImage(sender).Tag]);
end;//初始化函数,主要用于动态绑定image点击事件
procedure TForm1.InitParam();
var
i: integer;
begin
for i:= 0 to ControlCount-1 do
begin
if not (Controls[i] is TImage) then continue;
TImage(Controls[i]).ShowHint := true;
TImage(Controls[i]).OnClick := OnImageClick;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
InitParam();
end;