Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизРисование на border Найти похожие ветки
← →
Grinder (2004-01-30 23:13) [0]кто паодскажет как рисовать на border формы? у меня border = 1px. Через canvas не получается. А надо сделать обрамление черного цвета для формы.
← →
YuRock (2004-01-30 23:18) [1]Можно вообще убрать бордер, а затем нарисовать его вручную
← →
Grinder (2004-01-30 23:28) [2]Это как?
← →
YuRock (2004-01-30 23:43) [3]Например, Form1.BorderStyle := bsNone, а в OnPaint рисовать чёрный квадрат
← →
Grinder (2004-01-31 00:41) [4]Так у меня на форме панель alClient. Если border 0 сделать, то на чем рисовать? Не видно формы.
← →
Guest (2004-01-31 02:01) [5]Убери alClient,а в FormResize пропиши:
with panel1 do
begin
left:=1;
top:=1
width:=Form1.width-1;
height:=Form1.height-1;
end;
В FormCreate:
FormResize(Sender);
Получится бордюр в один пиксель со всех сторон, и Form1.canvas.pen в твоих руках!
← →
Grinder (2004-01-31 03:02) [6]Тогда всё усложняется. От этой формы зависит расположение компонентов. А так прийдется заниматься расположением более 20 компонентов. Это не годится.
← →
Chlavik (2004-01-31 04:07) [7]Может надо юзать не GetDC а GetWindowDC Я просто не знаю помойму Canvas рисует по клиентской области .... и ловить WM_NCPAINT
← →
Grinder (2004-02-01 00:32) [8]Это как?
← →
Passer-by (2004-02-01 00:46) [9]Если нужно практическое решение, то может положить эти 20 компонентов на TPanel, как на форму, а с компонентом TPanel (с одним) поступить так, как предлагалось выше.
← →
Mihey (2004-02-01 01:33) [10]>От этой формы зависит расположение компонентов.
А от панели зависеть не может?
← →
wnew (2004-02-01 05:02) [11]http://www.codenet.ru/progr/delphi/vcl_faq/058.php
Это, как рисовать на рамке. А если хочешь стандартную рамку удалить - то добавь:
var FRegion: hRgn;
FRegion := CreateRectRgn(3,3,Width-3,Height-3);
SetWindowRgn(Handle,FRegion,True);</B>
Потом в Destroy нужно востановить Region:
SetWindowRgn(Handle,0,True);
DeleteObject(FRegion);
← →
Grinder (2004-02-01 14:45) [12]Спасибо. Получилось
← →
DVM (2004-02-01 15:14) [13]Не только WM_NCPAINT, а еще WM_NCACTIVATE
← →
Grinder (2004-02-01 23:59) [14]Я сделал просто form.paint доделал и всё.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c