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

Вниз

Своя рамка в ListBox   Найти похожие ветки 

 
Leonardo   (2006-05-09 23:02) [0]

Так я рисую рамку в WM_NCPAINT, свойства BorderStyle = bsSingle, Ctl3D = False.

procedure TXListBox.WMNCPaint(var Message: TWMNCPAINT);
var
 DC: THandle;
 R: TRect;
 ACanvas: TCanvas;
begin
CallWindowProc(DefWndProc, Handle, Message.Msg, TMessage(Message).WParam, TMessage(Message).LParam);

 DC := GetWindowDC(Handle);
 try
   GetWindowRect(Handle, R);
   OffsetRect(R, -R.Left, -R.Top);
   ACanvas := TCanvas.Create;
   try
     ACanvas.Handle := DC;
     ExcludeClipRect(ACanvas.Handle, 2, 2, R.Right - 2, R.Bottom - 2);
     ACanvas.Brush.Style := bsClear;
     ACanvas.Pen.Color := FBorderColor;
     ACanvas.Rectangle(R);
   finally
     ACanvas.Handle := 0;
     ACanvas.Free;
   end;
 finally
   ReleaseDC(Handle, DC);
 end;
end;


Но проблема вот в чем, при смене свойства BorderColor, рамка не меняет цвет:

procedure TXListBox.SetBorderColor(Value: TColor);
begin
 if FBorderColor <> Value then
   begin
     FBorderColor := Value;
     Invalidate;
   end;
end;

Repaint тоже не помог вместо Invalidate, может подскажите чемнибудь?

А еще как в конструкторе сразу задать свойство Ctl3D := False? Так не работает, всеравно получается что равно True...

constructor TXListBox.Create(AOwner: TComponent);
begin
 inherited;
 Ctl3D := False;
end;


Это для того чтобы место для рамки было отведено в один пиксель, если свойстно равно True, то там видны небольшие прозрачные места около рамки... Или вообще надо размер бордюра подругому как-то задавать? Подскажите пожалуйста...


 
Leonardo   (2006-05-10 00:17) [1]

Какая, однако, неразрешамая проблема-то оказывается....


 
Джо ©   (2006-05-10 02:54) [2]

> [1] Leonardo   (10.05.06 00:17)
> Какая, однако, неразрешамая проблема-то оказывается....

Какая там неразрешимая? Она выдуманная, а потому неинтересная, ИМХО.


 
Leonardo   (2006-05-10 03:25) [3]

Подскажите мне тогда пожалуйста по моим вопросам...


 
Leonardo   (2006-05-10 03:26) [4]

Мне интересно...



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
2-1148801732
Хочу_все_знать
2006-05-28 11:35
2006.06.18
Вопрос к Мастерам !


15-1148348413
rihtich
2006-05-23 05:40
2006.06.18
ASM и DELPHI


2-1148989677
VitV
2006-05-30 15:47
2006.06.18
RichEdit-вставка таблицы.


3-1145786456
rimdd
2006-04-23 14:00
2006.06.18
Insert into на Paradox e


2-1149092879
цветог
2006-05-31 20:27
2006.06.18
рекурсия