Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
ВнизКак развернуть свое окно на весь экран если BorderStyle= bsNone? Найти похожие ветки
← →
kofman (2002-11-15 23:08) [0]Мастера, вопрос такой: какое сообщение надо отослать моему окну (BorderStyle= bsNone) что-бы оно максимизировалось?
← →
AngeL B. (2002-11-15 23:56) [1]Если изменение свойства WindowState не помогает, то просто поменяй размеры свой формы вручную в соответствие с текущим разрешением экрана (Screen.Width ,Screen.Height);
← →
friker! (2002-11-16 08:59) [2]Примерно так..! form1.BorderStyle:=bsNone;
form1.WindowState:=wsMaximized
← →
kofman (2002-11-16 14:44) [3]form1.WindowState:=wsMaximized помогло, но окно разворачивается на весь экран и при этом перекрывает таск бар, как быть. Я вообщето думал может PostMessage использовать?
← →
Nikolay (2002-11-16 18:09) [4]можно.
← →
Николай Быков (2002-11-16 19:08) [5]
> kofman © (16.11.02 14:44)
На весь экран так посылать сообщение SendMessage(Form1.Handle,WM_SYSCOMMAND,SC_MAXIMIZE,0);
А таскбар перекрывать будет, т.к. оно бордюров не имеет.
Щас посмотрю в хелпе по WinAPI. Может есть что-нибудь подходящее для тебя
← →
kofman (2002-11-16 20:06) [6]>Николай Быков спасибо. А почему если в обычном окне нажать максимизацию, то окно не перекрывает таск бар?
← →
Николай Быков (2002-11-16 20:12) [7]
> kofman © (16.11.02 20:06)
> >Николай Быков спасибо.
Потому что обычное окно имеет бордюры, а если поставить bsNone то бордюров не будет
← →
Nikolay (2002-11-16 23:27) [8]криво но работает
var
a,b:integer;
begin
SendMessage(Form1.Handle,WM_SYSCOMMAND,SC_MAXIMIZE,0);
a:=form1.Height;
b:=form1.Width;
Form1.BorderStyle:=bsNone;
form1.Height:=a;
form1.Width:=b;
← →
kofman (2002-11-17 01:13) [9]Большое спасибо за советы и за примеры - все работает. Но вот окошко перекрывает таск бар, а это делать никак нельзя. Как это дело победить?
← →
Николай Быков (2002-11-17 07:04) [10]А ты скажи что сделать хочешь, может по-другому это можно сделать
← →
kofman (2002-11-17 11:14) [11]Да все просто, есть обычное окошко но без бордюра (BorderStyle= bsNone). На всю клиенскую часть окна натянут Image с фоновой картинкой - это и есть моя рабочая форма. Вверху как положено три кнопочки - тоже Image`ы. Одна из них это - развернуть на весь экран. Как вот, окошко хоть и без бордюра, но при развороте должно вести себя как нормальное т.е. не перекрывать таск бар. Лично я вижу только один выход: определить размер таск бара, его положение а уж потом развернуть форму вручную изменяя высоту и ширину формы.... но геморой это, и может криво выйти на разных компах. Может у кого-то еще соображения есть?
← →
Николай Быков (2002-11-17 11:41) [12]
> kofman © (17.11.02 11:14)
Не геморрой, а простая лень
+вот что эта программа делает?
Если это что-то вроде: поменять фон рабочего стола и добавить на него кнопки и прочию хрень, то можно сделать и по другому.
Я тебя спрашивал чо эта программа делать будет.
← →
kofman (2002-11-17 12:26) [13]Это программа для скачивания web-сайтов (паук).
← →
kofman (2002-11-18 00:17) [14]Мастера ну помогите как быть?
← →
Diamond Cat (2002-11-18 00:33) [15]а почему обязательно сообщение, можно и через setwindowpos. а размеры области не занимаемой таскбаром можно вычислить используя к примеру APPBARDATA
← →
Игорь Шевченко (2002-11-18 12:20) [16]var
WorkArea: TRect;
...
{ Рабочая область экрана }
SystemParametersInfo(SPI_GETWORKAREA,0,Pointer(@WorkArea),0);
...
И изменять размеры окна до этого прямоугольника, например, функцией SetWindowPos
← →
kofman (2002-11-18 14:21) [17]Большое спасибо всем за советы.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c