![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как полностью изменить стандартный вид формы [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
carmen © (2002-09-12 01:11:00)Как можно изменит стандартный вид формы. Изменитьь так чтобы полученную форму можно было перемещатьт, изменять размери, т.е. вела себя как обычноя но виглядела так как мне хочется
Заранее благодарен
Князь Мышкин (2002-09-12 04:56:00) [1]Ставь у формы BorderStyle=bsNone и обрабатывай сообщение WM_NCHITTEST, в котором ты должен вернуть, ну какую область формы ликнули мышшкой (кнопка минимизации, верхняя граница, кнопка закрытия, ...). И рисуй форму как тебе заблагорассудиться (хоть с кнопкой закрытия посредине).
kex86 (2002-09-12 01:56:00) [2]Ты ещё здесь?
Я сейчас делаю небольшую прогу, в которой вид полностью не виндоуский.Там я вообще убрал системную полосу (borderstyle=bsnone, кажется) и поставил рисунок со свойством align=altop, который заменил эту полосу.На неё я поставил три кнопки нестандартного вида (свернуть,минимизировать,закрыть), более того,я их поставил посередине полосы. Чтобы можно было двигать форму : (image1 - это полоса)
procedureTForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
constSC_DragMove = $F012;
begin
ReleaseCapture;
form1.perform(WM_SysCommand, SC_DragMove, 0);
end;
Я ,правда, не делал изменения формы, но моя прога в этом не нуждается