Справочник за компоненти на Delphi
Написано на 15 септември 2006 г. Публикувано в Delphi
СЪДЪРЖАНИЕ
Активност и видимост на контролите
Дейността на даден елемент му позволява да получава и обработва съобщения от клавиатурата, мишката и таймера. Определя се от свойството:
Стойността True прави контролата активна. Когато състоянието Enabled се промени, то се преначертава на екрана, в който пасивните елементи, като правило, се показват в сив цвят.
Свойство, което определя дали даден елемент може да бъде видим по време на изпълнение:
По време на разработката всички компоненти са видими. Можете да промените това свойство директно по време на изпълнение, като използвате следните два метода:
Спомнете си, че тъй като Visible е свойство, visible: =True не е просто присвояване. Той имплицитно съдържа всички необходими операции за показване на контрола. Същото важи и за всички други свойства на компонентите, реакцията на промяната на които трябва да настъпи незабавно.
Защо по-горе беше използвана формулировката „възможност за видимост“, а не „видимост“? За да бъде даден елемент видим на екрана, само стойността на свойството Visible не е достатъчна. Искате всички предшественици на елемента в йерархията да бъдат видими. В действителност видимостта на даден елемент може да бъде намерена чрез свойството:
Това свойство се задава при промяна на свойството Visible. Той е само за четене. Трябва да имате предвид, че когато видимостта на родителския елемент се промени, Showing не се променя и може в даден момент да не съответства на истинското състояние. Актуализира състоянието на свойството Показване за компонента на метода:
Следните методи "управляват" чертежа (промяна на изображението на екрана) на контролния елемент:
procedure Invalidate; | Изобразява компонента чрез извикване на API функцията InvalidateRect. |
актуализация на процедурата; | Предоставя допълнителни операции, изисквани от Windows при рендиране на прозорец. За прозоречни компоненти, например, той извиква функцията UpdateWindow. |
Този метод съчетава предишните два. Ако контролата е непрозрачна (има флага csOpaque), първо се изчиства правоъгълникът, който заема.