![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как работает OnShow [D7, XP]
blackcrazzy © (2006-06-16 12:00:00)Уважаемые мастера, у меня такая проблема. Есть программа, в которой есть справочники. При работе в разных окнах все замечательно. Решил сделать их в одном окне, и, в зависимости от того какой справочник вызывается, изменять размер окна и DBGrid'а в нем, а также свойство DataSet у DBGrid по событию OnShow. Окно вызывается модально. В результате получил сообщение от Delphi, что нельзя изменять свойство Visible в OnShow и OnHide, но ведь я изменяю только размер окна, к свойству Visible не обращаюсь. Подскажите, пожалуйста, в чем ошибка.
blackcrazzy (2006-06-16 14:51:00) [1]
> Игорь Шевченко © (16.06.06 14:29) [7]
Спасибо. Где ж Вы были 2 часа назад?(вопрос риторический)
Игорь Шевченко (2006-06-16 14:29:00) [2]
> SpravForm.Position:=poDesktopCenter;
>
Убрать
MsGuns (2006-06-16 14:23:00) [3]1. Убрать модальное окно из AutoCreate
2. Создавать модальное окно из главной формы
procedure TMainForm.Button1Click(Sender: TObject);
begin
with TMyModalForm.Create(Self) do
try
Top :=
Left :=
Width :=
Heigth :=
....
ShowModal;
finally
Free;
end;
blackcrazzy (2006-06-16 14:15:00) [4]Да не трогаю я видимость, мне размер установить надо. А он (Делфи) на видимость ругается.
MsGuns (2006-06-16 13:33:00) [5]Модальное окно на то и модальное, что его нельзя сделать невидимым. Потому что смысла нет.
blackcrazzy (2006-06-16 13:10:00) [6]Примерно следующее:
...
public
Sprav:integer;
...
procedure SpravForm.OnShow(Sender:TObject);
begin
case sprav of
0: begin
SpravForm.Width:=200;
SpravForm.Height:=200;
SpravForm.Position:=poDesktopCenter;
{здесь идут Left, Top, Widht, Height и DataSet для DBGrid и DBEdit}
end;
1: begin
{см. п.0 но другие значения}
end;
2: begin
end;
end;
Окно создается автоматически при запуске программы. Вызывается через ShowModal.
Loginov Dmitry (2006-06-16 12:59:00) [7]На всякий случай в Дизайн-Тайме сделай для формы
Visible=False
ANB (2006-06-16 12:56:00) [8]Код запости.