Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

сменить цвет Border а...   Найти похожие ветки 

 
AOTD ©   (2003-10-05 18:58) [0]

Не подскажете: как у KOL-овской формы сменить цвет Border"а? (или сделать возможным изменение размеров формы без самого Border"a)


 
Gandalf ©   (2003-10-05 20:59) [1]

Нарисуй свой через WM_PAINT


 
Vladimir Kladov   (2003-10-05 21:40) [2]

цвет формы определяется настройками десктопа.

вот этот обработчик позволяет менять размеры для формы без бордюра наиболее естественным образом. Обратите внимание, что происходит (в вин-2К), если навести и подержать мышь в верхнем правом углу формы.

function TForm2.KOLForm1Message(var Msg: tagMSG;
 var Rslt: Integer): Boolean;
var R: TRect;
   P: TPoint;
begin
 Result := FALSE;
 if Msg.message = WM_NCHITTEST then
 begin
   R := Form.ClientRect;
   P.X := SmallInt( LoWord( Msg.lParam ) );
   P.Y := SmallInt( HiWord( Msg.lParam ) );
   P := Form.Screen2Client( P );
   if PointInRect( P, R ) then
   begin
     if (P.X > R.Right - 18) and (P.Y > R.Bottom - 18) then
     begin
       Rslt := HTBOTTOMRIGHT;
       Result := TRUE;
       Exit;
     end;
     if (P.X > R.Right - 12) and (P.Y < R.Top + 12) then
     begin
       Rslt := HTCLOSE;
       Result := TRUE;
       Exit;
     end;
     InflateRect( R, -3, -3 );
     if P.X < R.Left then
       if P.Y < R.Top then Rslt := HTTOPLEFT else
       if P.Y > R.Bottom then Rslt := HTBOTTOMLEFT
       else Rslt := HTLEFT
     else if P.X > R.Right then
       if P.Y < R.Top then Rslt := HTTOPRIGHT else
       if P.Y > R.Bottom then Rslt := HTBOTTOMRIGHT
       else Rslt := HTRIGHT
     else
       if P.Y < R.Top then Rslt := HTTOP else
       if P.Y > R.Bottom then Rslt := HTBOTTOM
       else Exit;
     Result := TRUE;
   end;
 end;
end;


 
BelchonokH ©   (2003-10-19 20:52) [3]

2 Vladimir Kladov
Класссная процедурка, всё работало до того момента как края формы оказались закрыты панелями, и всё, лафа закончилась... :( попытался навесить эту процедурку на панельку, однако желаемого эффекта не получил, курсор растягивания появляется, и на этом всё, ничего не растягивается... нет ли какого-нибудь выхода из этой ситуации?


 
Vladimir Kladov   (2003-10-19 21:55) [4]

навесить на OnMessage панельки обработку WM_NCHITTEST и вернуть HTTRANSPARENT.



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
1-1081775641
BVV
2004-04-12 17:14
2004.05.02
TreeView


14-1081793805
ЧупаЧупс
2004-04-12 22:16
2004.05.02
Аж страшно становится -- 11 число - число неудач?


1-1082205529
Максим
2004-04-17 16:38
2004.05.02
Как сделать Zoom=100% в PrintPriview?


1-1081878711
wall7
2004-04-13 21:51
2004.05.02
ActionList и MessageBox


4-1078476980
Vik_mix
2004-03-05 11:56
2004.05.02
ScrollBar