Форум программистов, компьютерный форум, киберфорум
Наши страницы
Markus_13
Войти
Регистрация
Восстановить пароль
Блог быдлокодера Markus'а
Почитал? Иди поешь! xD
Рейтинг: 5.00. Голосов: 3.

Выравнивание текста в TEdit

Запись от Markus_13 размещена 02.03.2012 в 04:31
Метки coding, delphi7, tcntredit

Использование динамической подмены классов, для изменения выравнивания текста в стандартном компоненте TEdit:

1) добавляем новый тип в раздел "type":
Delphi
1
2
3
4
  TCntrEdit = class(TEdit)
  protected
    procedure CreateParams(var Params: TCreateParams);override;
  end;
2) добавляем процедуру создания параметров после "implementation":
Delphi
1
2
3
4
5
procedure TCntrEdit.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style:=Params.Style or ES_CENTER;
end;
3) в "OnCreate" формы прописываем замену класса и пересоздание окна:
Delphi
1
2
pPointer(Edit1)^:=TCntrEdit;
TCntrEdit(Edit1).RecreateWnd;
4) PROFIT!!!11 =)
Размещено в Без категории
Просмотров 1317 Комментарии 3
Всего комментариев 3
Комментарии
  1. Старый комментарий
    Аватар для Alex_pac
    Delphi
    1
    2
    
    pPointer(Edit1)^:=TCntrEdit;
    TCntrEdit(Edit1).RecreateWnd;
    ыы вот это прикол. динамическое изменение базового класса компонента

    хотя я больше предпочитаю наследование самого себя

    Delphi
    1
    2
    3
    4
    
    TEdit= class(Stdcrl.TEdit)
      protected
        procedure CreateParams(var Params: TCreateParams);override;
      end;
    Запись от Alex_pac размещена 22.10.2012 в 11:03 Alex_pac вне форума
    Обновил(-а) Alex_pac 22.10.2012 в 11:05
  2. Старый комментарий
    Аватар для Markus_13
    Цитата:
    Сообщение от Alex_pac Просмотреть комментарий
    хотя я больше предпочитаю наследование самого себя
    Delphi
    1
    2
    3
    4
    
    TEdit= class(Stdcrl.TEdit)
      protected
        procedure CreateParams(var Params: TCreateParams);override;
      end;
    причем тут это? как раз вся соль в модификации каждого стандартного компонента индивидуально и динамически!
    А наследование самого себя - это всего лишь способ модифицировать стандартный класс...
    Запись от Markus_13 размещена 05.06.2013 в 20:15 Markus_13 вне форума
  3. Старый комментарий
    Аватар для Algoritmer
    Интересное решение. Надеюсь в Lazarus тоже отработает
    Запись от Algoritmer размещена 08.10.2013 в 08:47 Algoritmer вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru