Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение класса окна


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]

нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо