Delphi的初级问题....

town 2000-04-23 11:30:00
1.有两个变量:
Var
A:Array [0..63] of Char;
B:String;
问如何实现A:=B或B:=A;

2.窗体上有两个按钮,大小,字体属性不一样,执行Button2:=Button1后,为什么Button2的处观属性没有变得和Button1一样。

3.为什么执行WindowState:=wsMinimized后窗体象MDI子窗体一样缩小成屏幕上的一块,效果与点击最小化按钮不一样。如何达到这种效果。

4.如何动态创建新的窗体及按钮等控件(窗体上已经有一个该控件或没有)
...全文
144 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jll 2000-04-23
  • 打赏
  • 举报
回复
1、var
i:integer;
begin
//字符串从索引是从1开始的,C中从0开始
for i:=0 to 63 do
B[i+1]:=A[i];
for i:=0 to 63 do
A[i]:=B[i+1];
end;

2、Button2:=Button1并不是把Button1的所有属性以及事件都赋值给Button2,要想改变的话,可以这样:
Button2.Width:=Button1.Width;
……

3、程序的主窗体是不会这样的,检查你缩小的窗体是否是MDIChild类型的……

4、看看Create就知道了……例如:
var
Child:TForm2;
begin
……
Child:=Form2.Create(Self);
……
end;
不过该Form必须在设计时就定义好
江王 2000-04-23
  • 打赏
  • 举报
回复
1.赋值时要注意B的内存空间大小,必要的话用SetLength来强制分配空间。
2. Button2:=Button1这句代码没有任何效果。其实,Button1和Button2变量都是对象的指针,上面的那句话只是将Button1所指的对象的地址赋给了Button2,而决定按钮属性的是对象本身,而不是地址指针。有了上面的语句后,你就丢失了对原来对象(第二个按钮)的引用,就是说不能用Button2变量来操作原来对象的属性。
3. 你的意思可能是一个非MDIChild最小化后能在任务栏中出现一个按钮。其实这很简单,只要将该Form的CreateParams方法中输入:
Param.ExStyle := Param.ExStyle or WS_EX_AppWindow;
这样就可以使窗口在最小化时显示在Taskbar上,而不是在桌面出现一个难看的最小化的标题棒。
4. 这个问题可以变通一下就可以很简单地解决了,首先有一个空的Form,然后,你可以在这个空的Form中随心所欲地往其中添加控件(只要你不大厌其烦)。其实,你设计时所生成的窗口只是一个模版,你可以用这个模版创建很多个窗口,并且可以再分别在每个创建的窗口中添加或删除控件。
jilimi 2000-04-23
  • 打赏
  • 举报
回复
1、用 StrPcopy(@X1,X2)和StrPas可以很容易的做到。
2、同意jll的说法。
3、同意jll的说法。
4、例如建立一个Button:
var
FButton1:Tbutton;
begin
FButton1:=Tbutton.Create(self);
FButton1.Parent:=Form1; //如果要在窗体上显示出来,这句一定不能少
FButton1.left:=100; //定义位置
FButton1.Top :=100;
.
.
.
FButton1.Free;
end
gey 2000-04-23
  • 打赏
  • 举报
回复
"不过该Form必须在设计时就定义好"这句不能同意。
gey 2000-04-23
  • 打赏
  • 举报
回复
"不过该Form必须在设计时就定义好"这句不能同意。

5,379

社区成员

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

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