Показать полную графическую версию : [решено] Как спрятать форму через INI ?
androidz
09-10-2009, 07:59
Каким образом можно спрятать форму через INI,
например чтобы когда параметр 0 форма скрыта, когда стоит 1 форма показывается.
androidz, Я правильно понял, что при запуске программа должна читать файл .INI и если скажем значение hide равно false, то форму скрываем? Если так, то стоит считывание .INI файла реализовать в FormCreate. И ещё спрятать - это значит поместить в Трей(Tray)?
androidz
09-10-2009, 13:13
И ещё спрятать - это значит поместить в Трей(Tray)? »
Нет, спрятать значит не отображать =)
попытаюсь ещё объяснить..
Приложение состоит из нескольких форм, и есть специальная форма которая по умолчанию скрыта, но если вписать в ini параметр 1, то эта форма будет грузится с основной в OnShow;
то бишь в OnShow будет чтото типа : form3.??? := IniFile.ReadString('form','secret','0')
То есть если 0, то эта секретная форма не показывается если 1 то показывается =)
а вот как это дело реализовать ни знаю .. :)
а вот как это дело реализовать ни знаю .. »У Delphi, можно сделать типа такого:
...
Form1->Visible = false;
...
Вроде такого? (Я сам с Delphi не знаком, пробую по интуиции)
...
Form1.Visible := false;
...
androidz
09-10-2009, 19:50
Form1.Visible := false;
да с висиблом то понятно, другое дело чтоб оно из ini читалось,
Кароче сделал нулёвый проект и похимичил маленько..
form2.Visible:=IniFile.ReadBool('frm', 's', False);
androidz
09-10-2009, 19:55
Мне вот интересно, а есть ли ещё какойнить способ кроме висибла, чтоб форму спрятать через INI ? =)
androidz, а ведь на самом деле, после слов Мне вот интересно, а есть ли ещё какойнить способ кроме висибла, чтоб форму спрятать через INI » становится непонятным, что вы хотите сделать:
"спрятать форму" - дословно переводится как "Form.Visible := false"
"через INI" - дословно "прочитать значение из файла"
соотественно единственный (остальное - равнозначные вариации) споосб это сделать:
form2.Visible:=IniFile.ReadBool('frm', 's', False); »
а по-другому можно только "не создавать форму", "сворачивать форму" или другие варианты, не связанные со словом "спрятать"
----
а. может имелось ввиду как создать "невидимую форму" и сделать её видимой только если параметр в ini-файле не равен нулю?
для этого нужно Object Inspector-ом установить форме значение Visible=false на в дизайнере форм, на этапе кодирования проекта
androidz, Если среда поддерживает возможность сделать форму прозрачной и после считывания параметра делать её уже не прозрачной.
androidz
10-10-2009, 06:16
"спрятать форму" - дословно переводится как "Form.Visible := false"
"через INI" - дословно "прочитать значение из файла"
соотественно единственный (остальное - равнозначные вариации) споосб это сделать: »
с Form.Visible := false понятно всё :)
а возможно ли сделать например так чтобы если параметр 0 то это был Hide а если 1 то это Show ? :)
никто не запрещает сделать так:
if (IniFile.ReadBool('frm', 's', False)) then form3.Show
else form3.Hide
но установка свойства Visible делает ТО ЖЕ САМОЕ. Не веришь - посмотри исходник TForm.SetVisible в controls.pas
androidz
11-10-2009, 15:56
if (IniFile.ReadBool('frm', 's', False)) then form3.Show else form3.Hide »
спасибо, как раз то что нужно :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.