以下是我最近刚刚编的小程序(是照书抄的),但老run不了,出现错误:
编的程序是使用鼠标拖曳的形式将几个认证的课程从一个listbox移至另一个listbox.
请高人指点,在下乃初学者,遇到此难题老是心烦意乱,在此静侯.
unit drag;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
Label3: TLabel;
ListBox2: TListBox;
Bevel1: TBevel;
BitBtn1: TBitBtn;
procedure listbox2dragover(sender,source:tobject;x,y:integer;state
:tdragstate;var accept:boolean);
procedure listbox2dragdrop(sender,source:tobject;x,y:integer);
procedure bitbtnclick(sender:tobject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
index:integer;
implementation{$R *.dfm}
procedure listbox2dragover(sender,source:tobject;x,y:integer;state
:tdragstate;var accept:boolean);
begin
accept:=(source is tlistbox);
end;
procedure tform1.listbox2dragdrop(sender,source:tobject;x,y:integer)
begin
index:=tlistbox(source).ItemIndex;
if index<>1 then begin
tlistbox(sender).Items.add(tlistbox(source).Items[index]);
tlistbox(source).Items.delete(index);
end;
end;
procedure tform1.bitbtn1click(sender:tobject);
begin
showmessage(format('您已通过%d科认证课程',[listbox2.items.count]);
end;
end.
编的程序是使用鼠标拖曳的形式将几个认证的课程从一个listbox移至另一个listbox.
请高人指点,在下乃初学者,遇到此难题老是心烦意乱,在此静侯.
unit drag;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
Label3: TLabel;
ListBox2: TListBox;
Bevel1: TBevel;
BitBtn1: TBitBtn;
procedure listbox2dragover(sender,source:tobject;x,y:integer;state
:tdragstate;var accept:boolean);
procedure listbox2dragdrop(sender,source:tobject;x,y:integer);
procedure bitbtnclick(sender:tobject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
index:integer;
implementation{$R *.dfm}
procedure listbox2dragover(sender,source:tobject;x,y:integer;state
:tdragstate;var accept:boolean);
begin
accept:=(source is tlistbox);
end;
procedure tform1.listbox2dragdrop(sender,source:tobject;x,y:integer)
begin
index:=tlistbox(source).ItemIndex;
if index<>1 then begin
tlistbox(sender).Items.add(tlistbox(source).Items[index]);
tlistbox(source).Items.delete(index);
end;
end;
procedure tform1.bitbtn1click(sender:tobject);
begin
showmessage(format('您已通过%d科认证课程',[listbox2.items.count]);
end;
end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货