Как да разширя прозореца си до цял екран, ако - 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]