Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.04;
Скачать: CL | DM;

Вниз

Как "дорисовать" стандартный компонент ОС?   Найти похожие ветки 

 
Ruzzz   (2009-08-03 23:04) [0]

Можно ли при обработке wm_paint дать нарисовать компонент системе, и потом его немного дорисовать?


 
TIF ©   (2009-08-03 23:18) [1]

В ОС нет компонентов. Компоненты есть в Delphi.


 
Игорь Шевченко ©   (2009-08-04 00:08) [2]

TIF ©   (03.08.09 23:18) [1]

Для того, чтобы сказать что-то умное, нефигово бы и кругозор иметь соответствующий. А недержание надо лечить.

Ruzzz   (03.08.09 23:04)  

Можно.

1. Перекрыть стандартный обработчик WM_PAINT, как это сделано в StdCtrls.TCustomComboBox, вызвать inherited и дорисовать.
2. Перекрыть во время выполнения метод WindowProc нужного компонента, и обрабатывать сообщение WM_PAINT, вызывая предыдущую оконную процедуру и дорисовывать.


 
TIF ©   (2009-08-04 04:53) [3]

Дополню мысль. Можно посчитать это очередным излиянием, но тут я уже вылил конкретику, а не одну фразу на ветер.

В ОС нет явных компонентов. В ОС есть только "заготовки" для сборки нужных control-ов по кусочкам (см. ComCtl32). В Delphi же собранное из таких минимальных структурных единиц именуется компонентом (визуальным).

Благодаря такой реализации начиная с Windows XP появились темы. Допустим, та же самая кнопка состоит из множества "кусочков" - границ, тени, внутренней заливки для обычного, выделенного и нажатого состояний и т.п. Сменилась тема - сменились "кусочки", допустим кнопка осталась кнопкой, но уже "пересобрана заново", так сказать. Всё это обычно мало интересно разработчику; всё равно что программирование на ассемблере - круто, но требует громадных усилий и если не требуется создать что-то новое, то легче и правильнее воспользоваться готовой комбинацией - готовым компонентом.

> Как "дорисовать" стандартный компонент ОС?

Заканчиваю свою придирку правильным на мой взгляд вариантом названия темы (никому его не навязываю):
Как "дорисовать" стандартный элемент управления ОС?

http://microsoft.com/language/ru/ru/search.mspx?sString=control&langID=ru-ru

control - элемент управления
An object that enables user interaction or input, often to initiate an action, display information, or set values.


http://microsoft.com/language/ru/ru/search.mspx?sString=control&amp%3blangID=ru-ru

component -компонент
An object that is reusable and can interact with other objects. Note: Every control is a component, but not every component is a control.


PS: последнее определение слегка размазанное, ну да ладно, для этой темы и этого много



Страницы: 1 вся ветка

Текущий архив: 2009.10.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1242143550
@!!ex
2009-05-12 19:52
2009.10.04
Как добавить дополнительную информацию о сайте в google


15-1249148976
anton773
2009-08-01 21:49
2009.10.04
где можно прочитать про CDO_TLB и ADODB_TLB


2-1248776313
Кирей
2009-07-28 14:18
2009.10.04
ошибка при повторном открытиии ADOStoredProc


15-1248944170
test
2009-07-30 12:56
2009.10.04
Видео карты 9600GT(260) VS EAH4850


15-1249495859
tomkat
2009-08-05 22:10
2009.10.04
Активация Delphi 6