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

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

PanelResize [D7, XP]


webpauk ©   (2008-09-12 17:36:00) 

компоненты, лежащие на TPanel зависят от события PanelResize.
как сэмулировать програмно PanelResize?


{RASkov}   (2008-09-12 18:40:00) [1]

> [14] webpauk ©   (12.09.08 18:13)
> соответственно, fObjList[fI].fPanel - ошибка

Ну как скажешь :)


webpauk   (2008-09-12 18:14:00) [2]


> {RASkov} ©   (12.09.08 18:05) [12]

вообщем-то это разговор о пуговицах...
вопрос закрыт


webpauk   (2008-09-12 18:13:00) [3]


> {RASkov} ©   (12.09.08 18:07) [13]

fObjList = TobjectList
fObjList[fI] - неопределенный Tobject
соответственно, fObjList[fI].fPanel - ошибка


{RASkov}   (2008-09-12 18:07:00) [4]

> [10] webpauk ©   (12.09.08 18:02)
> только ты не заметил:
> не TMyPanelClass(fObjList[fI]), а TMyPanelClass(fObjList[fI])
> .fPanel

Только тогда так:
TMyPanelClass(fObjList[fI]).fPanel.OnResize(fObjList[fI] .fPanel);


{RASkov}   (2008-09-12 18:05:00) [5]

> [10] webpauk ©   (12.09.08 18:02)
> только ты не заметил:

Ладно, уговорил.... пусть будет по твоему :)


webpauk   (2008-09-12 18:03:00) [6]


> Renegat ©   (12.09.08 17:42) [4]

гы... размышлизм


webpauk   (2008-09-12 18:02:00) [7]


> {RASkov} ©   (12.09.08 17:59) [8]

ну это круто...
избавил от лишнего привидения типа...

только ты не заметил:
не TMyPanelClass(fObjList[fI]),а TMyPanelClass(fObjList[fI]).fPanel


webpauk   (2008-09-12 18:00:00) [8]

а вот Panel1Resize(НужнаяPanel)- точно не прокатит.
у Panel - разные обработчики, в зависимости от лежащих на ней компонентов


{RASkov}   (2008-09-12 17:59:00) [9]

> [3] webpauk ©   (12.09.08 17:41)

TMyPanelClass(fObjList[fI]).OnResize(fObjList[fI]);


webpauk   (2008-09-12 17:58:00) [10]


> Palladin ©   (12.09.08 17:43) [6]

TMyPanelClass(fObjList[fI]).fPanel.OnResize(TMyPanelClass(fObjList[fI]).fP anel);
как то вылетело из головы...


Palladin   (2008-09-12 17:43:00) [11]


> соответственно, ответ Panel1Resize(nil) не прокатит...

Конечно не прокатит, а вот вызов Panel1Resize(НужнаяPanel) , при знании что если код OnResize выполняется в зависимости от Sender, прокатит... хотя по ходу это знание для тебя не доступно..


Renegat   (2008-09-12 17:42:00) [12]

Гы!.. це есть блог? %)


KilkennyCat   (2008-09-12 17:42:00) [13]

MyPanel.width := MyPanel.width+1


webpauk   (2008-09-12 17:41:00) [14]

и действительно
SendMessage(TMyPanelClass(fObjList[fI]).fPanel.Handle, WM_SIZE, 0, 0);
сработало.

спасибо за помощь.
вопрос закрыт.


webpauk   (2008-09-12 17:39:00) [15]

еще добавлю:
ответ должен, по-моему мнению, лежать в области SendMessage


webpauk   (2008-09-12 17:38:00) [16]

добавлю:
TPanel создается и ему присваивается обработчик на PanelResize
MyPanel.OnResize:=MyResizeProcedure;

соответственно, ответ Panel1Resize(nil) не прокатит...


Наверх

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