如何改变一个窗体的类名?(100分)

  • 主题发起人 主题发起人 ch_yahuu
  • 开始时间 开始时间
C

ch_yahuu

Unregistered / Unconfirmed
GUEST, unregistred user!
哪个知道?有没法没有?<br>setwindowtext只是改变了窗体的title。<br>如何改变窗体的类名呢?即classname
 
不可能!至少我不知道<br><br>请版主给删除了吧
 
晕。太烦了。<br>没给我答案。害得我还要丢分。要不我可以收回来。唉。狂晕。<br>55555555555555555<br><br>哈哈哈哈
 
窗口的类名,是在窗口创建之前就建好的,不可能在运行中改变他的类名,连盖茨都没办法,<br>还是想别的途径解决问题吧!我说得虽然没有满足你,但是正确的,把分给我吧!
 
疯,类名还能改?
 
如果仅仅是名称好办,只是不知道你什么意思,想做什么。<br>unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs, StdCtrls;<br><br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; &nbsp; class function ClassName: ShortString;<br>&nbsp; end;<br><br>var<br>&nbsp; Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>class function TForm1.ClassName: ShortString;<br>begin<br>&nbsp; Result := 'Hello';<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>ShowMessage(Self.ClassName);<br>end;<br><br>end.<br><br>
 
类名是要像系统注册的。除非你动态注册
 
to tseug:<br>我是说改变别的应用程序的类名啊。可以吗?
 
应该不行,你想干什么?
 
100%不行!只有你自己重新窗体(比如用 CreateWindow 的时候)才可以的!
 
这个方法你可以试试:<br>Const<br>&nbsp; &nbsp; MyAppName='MyDelphiProgram';<br>。。。。<br>implementation<br><br>{$R *.dfm}<br><br>{指定窗口名称}<br>Procedure TForm1.CreateParams(var Params:TCreateParams);<br>begin<br>&nbsp; &nbsp; Inherited CreateParams(Params);<br>&nbsp; &nbsp; Params.WinClassName:=MyAppName;<br>end;
 
如果是你自己写的程序,用sunman的方法就可以了。如果是别人的程序(无源码),那就不知道了。
 
后退
顶部