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

Вниз

помощь   Найти похожие ветки 

 
котел ©   (2002-11-20 13:26) [0]

Как сделать чтобы при нахождении курсора мыши над визуальным компонентом прорисовывалась рамка


 
roadster   (2002-11-20 14:39) [1]

какая рамка? Если нужно этот контроль делать активным, то на OnMouseMove повесить SetFocus


 
OlegMsc ©   (2002-11-20 14:47) [2]

а если отрисовать свою собственную рамку, то посмотри FrameRgn


 
Comp ©   (2002-11-20 15:21) [3]

Если этот компонент имеет свою рамку, у которой можно менять тип, то обработай событие OnMouseMove...


 
40º   (2002-11-20 15:53) [4]

Для компонентов с парент = форма можно так:

type
TCMMouseXXX = record
Msg: Cardinal;
Unused: Cardinal;
Sender: TControl;
Result: Integer;
end;

TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormPaint(Sender: TObject);
private
FContouredControl: TControl;
procedure SetContouredControl(const Value: TControl);
public
property ContouredControl: TControl read FContouredControl write SetContouredControl;

procedure CMMouseEnter(var Msg: TCMMouseXXX); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TCMMouseXXX); message CM_MOUSELEAVE;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.CMMouseEnter(var Msg: TCMMouseXXX);
begin
ContouredControl := Msg.Sender;
end;

procedure TForm1.CMMouseLeave(var Msg: TCMMouseXXX);
begin
ContouredControl := nil;
end;

procedure TForm1.SetContouredControl(const Value: TControl);
begin
if FContouredControl <> Value then
begin
FContouredControl := Value;
Invalidate;
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
var R: TRect;
begin
if FContouredControl <> nil then
begin
R := ContouredControl.BoundsRect;
InflateRect(R, 2, 2);
Canvas.Brush.Color := clRed;
Canvas.FrameRect(R);
end;
end;

end.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
14-4595
VictorT
2002-11-11 23:05
2002.12.02
Утка, или нет?


6-4542
SemFLY
2002-10-05 22:22
2002.12.02
В чём ошибка... :-(


14-4614
evgeg
2002-11-11 15:36
2002.12.02
Житье в Канаде


1-4275
andrek
2002-11-20 15:52
2002.12.02
Кто курочил Uses Forms


3-4181
bigbill
2002-11-13 04:41
2002.12.02
номер записи ПОСЛЕ фильтрации