Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Сокровищница
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  07:30[Войти] | [Зарегистрироваться]

Доступ к protected-свойству BorderWidth класса TPageControl.

Anton Duzenko
дата публикации 08-12-2006 09:40

Доступ к protected-свойству BorderWidth класса TPageControl

Есть такой виндовый контрол - Pagecontrol. В VCL этот контрол реализован компонентом TPageControl, одной из особенностей которого является неуправляемая толщина рамки. Дело в том, что свойство BorderWidth, объявленное в секции protected базового класса TWinControl, не вынесено в классе TPageControl в секцию published.

Раньше меня это не волновало, но в дизайн программы, которую я сейчас разрабатываю, рамка Pagecontrol'a ну никак н вписывается. Возник вопрос, как ее убрать. Есть стандартный метод - написать новый класс - наследник Pagecоntrol'a, и в нем опубликовать свойство BorderWidth. Но это тот случай когда овчинка выделки не стоит. Вспомнился прием одного программиста на С++, который, когда делал проект на Дельфи, модифицировал стандартные библиотеки :(.

Мы пойдем другим путем.

Создаем новый тестовый проект, кидаем на форму разные компоненты, в которых BorderWidth опубликовано (StatusBar, TreeView, etc), и пишем код, измеряющий расстояние между адресом объекта и адресом его свойства BorderWidth. Для всех компонентов он один и тот же - 364 байта. Делаем индуктивный вывод, о том, что у всех наследников TWinControl на 364 байте находится BorderWidth. Проверяем на PageControl'e.

Работает :)


Смотрите также материалы по темам:
[TPageControl] [Секции private/public/protected/published]

 Обсуждение материала [ 11-05-2012 02:40 ] 47 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования