■■■绝对送分的问题!! (30分)

  • 主题发起人 主题发起人 3333W
  • 开始时间 开始时间
3

3333W

Unregistered / Unconfirmed
GUEST, unregistred user!
以下有两断代码! 问题在代码内!!

unit Unit1;

interface

uses
Windows, Messages, SysUtils, 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
procedure smm;
{ Public declarations }
end;

var
Form1: TForm1;



implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
With TForm2.Create(self) do
Showmodal;
end;

procedure TForm1.smm;
begin
showmessage('smm');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage('button');
end;

end.

//===================================================

unit Unit2;

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

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

var
Form2: TForm2;

implementation


{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.smm;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin

//这里要怎么写?我怎么才能关闭动态建立的窗口
//然后调用Unit1的button2的Click过程;
//为什么我的自定义过程可以调用,而系统默认的就不行呢!
//还有自定义的过程SMM为什么必须写在PUBLIC里面呢!
//我原来好像看到过没写在那个里面,也能调用的嘛!
end;

end.
 
直接调用
Button2.Click;
不行吗
 
procedure TForm1.Button10Click(Sender: TObject);
begin
edit1.Text:=inttostr(shape1.width);
form1.button11click(sender);
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
edit2.Text:=inttostr(shape1.height);
form1.Button10click(sender);
end;

button10的调用button11的,button11的又调用button10的
 
问题没有说清楚。我理解是两个单元互相调用的问题。你的form1的产生有点问题,在unit1
里面加上uses unit2.同样在unit2加上uses unit1;同时作如下改动。
procedure TForm1.Button1Click(Sender: TObject);
begin
form2:=tForm2.Create(self);
form2.Showmodal;
end;
对form2的button2这样写
procedure TForm2.Button2Click(Sender: TObject);
begin
form1.Button2.Click;
close;
end;
 
procedure TForm2.Button2Click(Sender: TObject);
begin
close;
form1.Button2Click(nil);
//smm定义在public里才能被非TForm1子类调用。
end;
 
TreeView要怎么才能显示出系统自己的图标,而不是自定义的呀!(我是说不用第三方控件!)
 
//这里要怎么写?我怎么才能关闭动态建立的窗口
Close;
//然后调用Unit1的button2的Click过程;
Form1.Button2.Click;
//为什么我的自定义过程可以调用,而系统默认的就不行呢!
都行!
//还有自定义的过程SMM为什么必须写在PUBLIC里面呢!
只有定义在public里才能被类的外部调用。
//我原来好像看到过没写在那个里面,也能调用的嘛!
真的!!!举个例子来看看。
 
TreeView要怎么才能显示出系统自己的图标,而不是自定义的呀!(我是说不用第三方控件!)

先将系统的图标提取出来装到ImageList里
 
后退
顶部