Як розгорнути своє вікно на весь екран, якщо - 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]