![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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) не прокатит...