Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

Как работает OnShow   Найти похожие ветки 

 
blackcrazzy ©   (2006-06-16 12:00) [0]

Уважаемые мастера, у меня такая проблема. Есть программа, в которой есть справочники. При работе в разных окнах все замечательно. Решил сделать их в одном окне, и, в зависимости от того какой справочник вызывается, изменять размер окна и DBGrid"а в нем, а также свойство DataSet у DBGrid по событию OnShow. Окно вызывается модально. В результате получил сообщение от Delphi, что нельзя изменять свойство Visible в OnShow и OnHide, но ведь я изменяю только размер окна, к свойству Visible не обращаюсь. Подскажите, пожалуйста, в чем ошибка.


 
ANB ©   (2006-06-16 12:56) [1]

Код запости.


 
Loginov Dmitry ©   (2006-06-16 12:59) [2]

На всякий случай в Дизайн-Тайме сделай для формы
Visible=False


 
blackcrazzy ©   (2006-06-16 13:10) [3]

Примерно следующее:

...
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.


 
MsGuns ©   (2006-06-16 13:33) [4]

Модальное окно на то и модальное, что его нельзя сделать невидимым. Потому что смысла нет.


 
blackcrazzy ©   (2006-06-16 14:15) [5]

Да не трогаю я видимость, мне размер установить надо. А он (Делфи) на видимость ругается.


 
MsGuns ©   (2006-06-16 14:23) [6]

1. Убрать модальное окно из AutoCreate
2. Создавать модальное окно из главной формы

procedure TMainForm.Button1Click(Sender: TObject);
begin
 with TMyModalForm.Create(Self) do
   try
     Top :=
     Left :=
     Width :=
     Heigth :=
     ....
     ShowModal;
   finally
     Free;
   end;


 
Игорь Шевченко ©   (2006-06-16 14:29) [7]


> SpravForm.Position:=poDesktopCenter;
>      


Убрать


 
blackcrazzy ©   (2006-06-16 14:51) [8]


> Игорь Шевченко ©   (16.06.06 14:29) [7]

Спасибо. Где ж Вы были 2 часа назад?(вопрос риторический)



Страницы: 1 вся ветка

Текущий архив: 2006.07.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
15-1149641654
tButton
2006-06-07 04:54
2006.07.02
радио


3-1146917274
Ярослав
2006-05-06 16:07
2006.07.02
как убраить masterkey


15-1149672449
Карелин Артем
2006-06-07 13:27
2006.07.02
Полный перенос дельфи 7 с одного компа на другой.Что посоветуете?


3-1146831909
TheEd
2006-05-05 16:25
2006.07.02
IBX: Связь master-detail в запросах


10-1120635105
AbrosimovA
2005-07-06 11:31
2006.07.02
Требуется помощь по IConnectionPointContainer