![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отлавливать показ формы
Тоник © (2008-01-25 21:29:00)Привет мастера!!!
у меня вопрос: onshow,oncreate не устраивают по неким причинам.
мне как бы нужно загрузить процедуру,но почле загрузки формы. как раз так ив onshow это не срабатывает пишет ошибку onhide or onshow.
пробовал включать таймер,тоже не прокатило.
че делать то?
DVM (2008-01-25 22:19:00) [21]Посылать окну той формы, от которой обработчик OnShow.
Сообщение WM_TONIK = WM_USER + 666;
PIMP (2008-01-25 22:18:00) [22]http://persepoles.narod.ru/TRTRTR.rar
сплэш скрин написано за 3 минуты. Самый плохой способ, но тебе сойдет )))
{RASkov} (2008-01-25 22:18:00) [23]> [17] Тоник (25.01.08 22:17)
Ну ответь же на вопросы в [11] :( Хотябы на второй
Тоник (2008-01-25 22:17:00) [24]мне не понятно кому и какое сообщение посылать.
DVM (2008-01-25 22:14:00) [25]
> Тоник (25.01.08 22:13) [14]
PostMessage();
{RASkov} (2008-01-25 22:14:00) [26]> [14] Тоник (25.01.08 22:13)
PostMessage
Тоник (2008-01-25 22:13:00) [27]
> DVM
а как мне послать сообщение из onshow?
DVM (2008-01-25 22:09:00) [28]Я не очень понял, зачем вся эта странная байда, но как вариант можно попробовать послать собственное сообщение из OnShow и в обработчике делать все что надо.
PIMP (2008-01-25 22:09:00) [29]File -> New -> Form
потом в uses добавь кое чего. Догадайся чего
{RASkov} (2008-01-25 22:08:00) [30]> [6] Тоник (25.01.08 21:57)
Дурнее не мог придумать?
Что ТЫ ПЫТАЕШЬСЯ СДЕЛАТЬ-то?
Что за мультиоконность? А сплэш не так делается...
Тоник (2008-01-25 22:04:00) [31]
> Я так понял, ты хочешь сделать мультиоконность. Или сплэшэкран.
что то вроде того
Тоник (2008-01-25 22:03:00) [32]по идее таймер должен выручить, хотя точно я не уверен.
по-крайней мере если сделать так:
onshow:
timer1.interval := 1000;
timer1.enabled := true;
...
timer1timer:
Load;
timer1.enabled := false;
то процедура будет выполняться много-много раз.
если tiemer1.enabled =false засунуть в начало процедуры, то это не поменяет исход :( у меня так
PIMP (2008-01-25 22:02:00) [33]Я так понял, ты хочешь сделать мультиоконность. Или сплэшэкран.
DVM (2008-01-25 22:01:00) [34]
> Тоник (25.01.08 21:57) [6]
И это работает???
Тоник (2008-01-25 21:57:00) [35]procedure TForm1.Load;
var
bmp:Tbitmap;
Begin
DoubleBuffered := True;
Color := clFuchsia;
TransparentColorValue := Color;
BorderStyle := bsNone;
new_form := TForm.Create(nil);
With new_form Do
Begin
TransparentColor := False;
Parent := Form1.Parent;
Name := 'forma';
Caption := Form1.Caption;
FormStyle := Form1.FormStyle;
BorderStyle := Form1.BorderStyle;
BorderIcons := [];
Position := Form1.Position;
Width := Form1.Width;
Height := Form1.Height;
Left := Form1.Left;
Top := Form1.Top;
OnMouseDown := Form1.FormMouseDown;
DoubleBuffered := True;
Visible := False;
End;
load_xz;
end;
PIMP (2008-01-25 21:56:00) [36]Лучше один раз увидеть, чем сто раз услышать. Давай исходник!
Тоник (2008-01-25 21:55:00) [37]ну смотрите, допустим есть процедура которая создает форму и много че делает.
но она должна выполняются только после загрузки формы.
т.е. выглядит это так, если процедуру нацепить на баттон. то когда форма грузанулась нажимаю на кнопку все ок работает!
но стоит ту же процедуру засунуть в Onshow, то сразу вылетает ошибка
Cannot change Visible in OnShow or OnHide
PIMP (2008-01-25 21:51:00) [38]
> у меня вопрос: onshow,oncreate не устраивают по неким причинам
какие причины? я там все пишу и ниче
Amoeba (2008-01-25 21:50:00) [39]Да и код не помешало бы предъявить ...
{RASkov} (2008-01-25 21:45:00) [40]Давай по русски... Что хочешь?, где хочешь?, зачем хочешь?)
> пишет ошибку onhide or onshow
мудришь с Visible ?
ЗЫ Процедуры не грузятся.... процедуры выполняются