Як розгорнути своє вікно на весь екран, якщо - BorderStyle bsNone

Майстра, питання таке: яке повідомлення треба надіслати моєму вікну (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]

А таскбар буде перекривати, т.к. воно бордюрів немає.

Зараз подивлюся в хелпі по WinAPI. Може їсти щось потрібне для тебе

kofman (2002-11-16 20:06) [6]

>Микола Биков дякую. А чому якщо у звичайному вікні натиснути максимізацію, вікно не перекриває таск бар?

Микола Биков (2002-11-16 20:12) [7]

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

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 (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]