Главная страница
    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.45 MB
Время: 0.013 c
2-1148801732
Хочу_все_знать
2006-05-28 11:35
2006.06.18
Вопрос к Мастерам !


15-1148586287
GEN++
2006-05-25 23:44
2006.06.18
Нужен бесплатный компонент


15-1148535398
Ega23
2006-05-25 09:36
2006.06.18
С Днём рождения! 25 мая


3-1145518595
Yrtimd
2006-04-20 11:36
2006.06.18
Delphi 7, FIBPlus 6.41 проблема подключения локально


2-1149081372
Fiallo4ka
2006-05-31 17:16
2006.06.18
базы на Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский