搞不懂,按下button为何没有反应?

zzt71510 2003-10-03 02:42:02
....
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure scChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
sc:TScrollBar;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sc:=TScrollBar.Create(self);
sc.Position:=sc.Position+1;
end; //第一部分

procedure TForm1.scChange(Sender: TObject);
begin
showmessage('hhh');
end; //第二部分

end.

搞不懂,按下button为何没有反应?
"procedure TForm1.scChange(Sender: TObject);" 有错吗?
...全文
42 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzt71510 2003-10-03
  • 打赏
  • 举报
回复
谢谢大家!
aiirii 2003-10-03
  • 打赏
  • 举报
回复
你的代碼有好几個地方有問題,具體修改如下:

procedure TForm1.Button1Click(Sender: TObject);
begin
sc:=TScrollBar.Create(Self);
sc.Parent := Self;
sc.OnChange := scChange;
sc.Position:=sc.Position+1;
end; //第一部分

procedure TForm1.scChange(Sender: TObject);
begin
showmessage('hhh');
end; //第二部分

end.
edgethinking 2003-10-03
  • 打赏
  • 举报
回复
楼上的,你有没有调试过呀!

他是少了一句 sc.Parent := from1;
sc没有父窗口的支撑,sc在哪都不知道。
liufuyahong 2003-10-03
  • 打赏
  • 举报
回复
将Buttton1的click事件改为如下
procedure TForm1.Button1Click(Sender: TObject);
begin
Sc:=TScrollBar.Create(nil);
Sc.OnChange:=ScScroll;
sc.Position:=sc.Position+1;
end; //第一部分


edgethinking 2003-10-03
  • 打赏
  • 举报
回复
这样也可以:
--------------------------

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
sc:TScrollBar;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sc := TScrollBar.Create(Self);
sc.Parent := form1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
sc.Position := sc.Position + 1;
end;

end.
edgethinking 2003-10-03
  • 打赏
  • 举报
回复
这样就有反应了:
-----------------------------------------
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
sc: TScrollBar;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sc.Position := sc.Position + 1;
end;

end.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧