Как да разширя прозореца си до цял екран, ако - BorderStyle bsNone

Wizards, въпросът е: какво съобщение трябва да изпратя на моя прозорец (BorderStyle= bsNone), за да бъде увеличен?

AngeL B. ( 2002-11-15 23:56 ) [1]

Ако промяната на свойството WindowState не помогне, тогава просто преоразмерете формата си ръчно, за да съответства на текущата разделителна способност на екрана (Screen.Width, Screen.Height);

фрикер! (2002-11-16 08:59) [2]

така. form1.BorderStyle:=bsNone; form1.WindowState:=wsMaximized

kofman ( 2002-11-16 14:44 ) [3]

form1.WindowState:=wsMaximized помогна, но прозорецът се разширява на цял екран и в същото време припокрива лентата на задачите, как да бъде. Всъщност си помислих, че може да се използва PostMessage?

Николай ( 16.11.2002 18:09 ) [4]

Николай Биков ( 2002-11-16 19:08 ) [5]

И лентата на задачите ще се застъпва, т.к. то няма граници.

Точно сега ще потърся помощта на WinAPI. Може би има нещо подходящо за вас

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

>Николай Биков, благодаря. И защо, ако натиснете максимизиране в нормален прозорец, тогава прозорецът не се припокрива с лентата на задачите?

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

Николай ( 2002-11-16 23:27 ) [8]

крив но работи

var a,b:цяло число; започнете Изпратете съобщение(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`s. Един от тях е да се разшири на цял екран. Така че прозорецът, макар и без рамка, трябва да се държи като нормален, когато се обърне. не блокирайте лентата на задачите. Лично аз виждам само един изход: да определя размера на лентата на задачите, нейната позиция и едва след това да разширя формуляра ръчно, като променям височината и ширината на формуляра. но това е глупост и може да излезе криво на различни компютри. Може би някой друг има идеи?

Николай Биков ( 2002-11-17 11:41 ) [12]

+ какво прави тази програма? Ако е нещо като: променете фона на работния плот и добавете бутони и други глупости към него, тогава можете да го направите по различен начин.

Попитах ви какво ще направи тази програма.

kofman ( 2002-11-17 12:26 ) [13]

Това е програма за изтегляне на уебсайтове (паяк).

kofman ( 2002-11-18 00:17 ) [14]

Майстори, помогнете ми как да бъда?

Диамантена котка ( 2002-11-18 00:33 ) [15]

и защо е необходимо съобщение, възможно е и чрез setwindowpos. и размерът на областта, която не е заета от лентата на задачите, може да се изчисли, като се използва например APPBARDATA

Игор Шевченко ( 2002-11-18 12:20 ) [16]

var Работна област: TRect; . < Работна област на екрана > Информация за системни параметри(SPI_GETWORKAREA,0,Показател(@WorkArea),0); . И преоразмерете прозореца преди товаправоъгълник, например с функцията SetWindowPos

kofman ( 2002-18-18 14:21 ) [17]