![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форма не разворачивается на весь экран. [D6, 95/98]
Drowsy © (2011-06-10 13:06:00)При создании формы стиль fsNormal.
В обработчике onFormShow выполняется
WindowState := wsMaximized;
Форма разворачивается, но почему-то не во весь экран.
Drowsy (2011-06-10 15:32:00) [1]Павел, спасибо за помощь!
И. Павел (2011-06-10 15:09:00) [2]> В onCreate каждого потомка дублировать считывание и установку
> размеров?
Создайте два конструктора - один для непосредственного создания формы, а другой - для вызова из inherited. Во втором конструкторе не считывайте настройки.
И. Павел (2011-06-10 15:06:00) [3]> [9] Drowsy © (10.06.11 14:53)
Вот пример полноэкранной формы со спрятанной панелью задач (только не забудьте восстановить все при завершении работы программы).
procedure TForm1.FormCreate(Sender: TObject);
var
HTaskbar: HWND;
OldVal: LongInt;
begin
try
// Find handle of TASKBAR
HTaskBar := FindWindow('Shell_TrayWnd', nil);
// Turn SYSTEM KEYS off, Only Win 95/98/ME
SystemParametersInfo(97, Word(True), @OldVal, 0);
// Disable the taskbar
EnableWindow(HTaskBar, False);
// Hide the taskbar
ShowWindow(HTaskbar, SW_HIDE);
finally
with Form1 do
begin
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Left := 0;
Top := 0;
Height := Screen.Height;
Width := Screen.Width;
end;
end
end;
Drowsy (2011-06-10 14:53:00) [4]TfmComBase = class(TForm)
...
TfmDescendant = class(TfmComBase)
Если делать в TfmComBase.onCreate, то надо в TfmDescendant.onCreate инициализировать название секции, а потом вызывать inherited.
А это ведь неправильно?!
В onCreate каждого потомка дублировать считывание и установку размеров?
clickmaker (2011-06-10 14:33:00) [5]> А где бы Вы сделали?
в OnCreate
Drowsy (2011-06-10 14:32:00) [6]
> FormStyle := fsStayOnTop
Это ничего не меняет.
> а почему именно в onFormShow?
>
А где бы Вы сделали?
Эта форма - предок для других, размеры которых надо сохранять в соответствующих секциях ини-файла.
Название секции задаю в onCreate потомков, а считывание и установку размеров в предке.
И. Павел (2011-06-10 13:36:00) [7]> Форма разворачивается, но почему-то не во весь экран.
FormStyle := fsStayOnTop
И. Павел (2011-06-10 13:34:00) [8]Хотя нет, тут что-то другое: у меня и в OnShow форма максимизируется...
И. Павел (2011-06-10 13:33:00) [9]> [0] Drowsy © (10.06.11 13:06)
Разворачивайте форму в OnActivate
clickmaker (2011-06-10 13:33:00) [10]> нужно стиль формы считывать и устанавливать из TIniFile.
а почему именно в onFormShow?
Drowsy (2011-06-10 13:31:00) [11]если "сразу", то форма во весь экран.
мне нужно стиль формы считывать и устанавливать из TIniFile.
ixen (2011-06-10 13:16:00) [12]а если свойство формы сразу установить wsMaximized ?