![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение класса окна
Nucer © (2009-04-02 22:19:00)Можно ли как-нибудь изменить имя класса окна собственного приложения, которое можно получить функцией GetClassName, во время исполнения?
К примеру, у меня имя объекта окна - MainForm, класс TMainForm. Можно ли менять это имя на какое-либо случайное при запуске программы? Чтобы функция GetClassName возвращало уже это новое имя.
DVM (2009-04-03 01:35:00) [1]
> Можно ли менять это имя на какое-либо случайное при запуске
> программы?
После запуска программы, но до создания формы еще можно, но только один раз, повторное изменение потребует пересоздания формы и окна.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure CreateParams(var Params : TCreateParams); override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CreateParams(var Params : TCreateParams);
begin
inherited CreateParams(Params);
Params.WindowClass.lpszClassName := '12345';
Params.WinClassName := '12345';
end;
end.
вместо 12345 соответственно все что угодно
Германн (2009-04-03 01:20:00) [2]
> Можно ли менять это имя на какое-либо случайное при запуске
> программы? Чтобы функция GetClassName возвращало уже это
> новое имя.
Что-то сегодня многих тянет на "желание странного".
Игорь Шевченко (2009-04-03 00:32:00) [3]нет