Thread View: cn.bbs.comp.language
1 messages
1 total messages
Started by �Ϲ⡤��������
Wed, 13 Mar 2002 19:10
��Delphi�б�д�ؼ��Ļ���
Author: �Ϲ⡤��������
Date: Wed, 13 Mar 2002 19:10
Date: Wed, 13 Mar 2002 19:10
109 lines
7383 bytes
7383 bytes
��Delphi�б�д�ؼ��Ļ���
������ΪDelphi����Ա��Ҫ���һ����߱��ˮƽ�ͱ������տؼ��ı�д��������ƪ��
�½�ͨ��һ����������Ϊ��ѧ�߽��ܱ�д�ؼ���һЩ������ģʽ��
����������ӿؼ���TLeiLabel������TLabel�Ļ�����������ʵ�õĹ��ܣ�һ��ʹ����
����������״������ʹ���־��г��������ԡ������������һ������ʵ����Щ���ܡ�
����һ��ʹ���־���������״
�������ȶ�������T3DEffect������Style3D�ֱ����£�
����T3DEffect=(Normal��Raised��Lowered�� Shadowed)��
����property Style3D:T3DEffect read FStyle3D write SetStyle3D default Normal
;
��������private����������FStyle3D:T3DEffect;����������SetStyle3D()������
�£���Ҳ��д������һ���ʽ��
����procedure TLeiLabel.SetStyle3D(Value: T3DEffect);
���� begin
���� if FStyle3D ���� value then
���� begin
���� FStyle3D := value;
���� invalidate; //��ʾ�ؼ����ػ�
���� end;
���� end;
����������ڴ���Ӱ�����ֻ�Ҫ������Ӱ��ƫ����ShadeXOffSet��ShadeYOffSet��
����property ShadowXOffSet: integer read FXOffSet write SetFXOffSet default
5;
����property ShadowYOffSet: integer read FYOffSet write SetFYOffSet default
-5;
����д����SetFXOffSet()��SetFYOffSet()�������SetStyle3D()���ơ�
����Ҫ�ػ��ؼ�һ��Ҫ����Paint�������˴�ֻ���ػ����֣�����ֻ������DoDrawText��
����
����DoDrawText����������Protected��
����procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
�����˴�DoDrawText()����������ͣ����𡢰������Ӱ���ֱ���ͬ������
��
����ʹ���־��г���������
��������һ������URL��ʾҪ���ӵ���ַ��Email��ַ��
����Property URL : String read FURL write SetURL;
����д����SetURL���£�
����procedure TLeiLabel.SetURL(Value: String);
����Begin
����if FURL ���� Value then FURL := Value ;
����if FURL ���� '' then
����Cursor := crHandPoint;
����end;
�����������LabelʱҪ����������շ��ʼ����ߣ����Ҫ����Click������
���� Procedure Click; Override;
���� procedure TLeiLabel.Click;
���� var s: string;
���� Begin
���� Inherited Click;
���� if FURL = '' then exit;
���� if LowerCase(Copy(FURL,1,7)) = 'http://' then
���� s := FURL
���� else if Pos('@',FURL) ���� 0 Then
���� s := 'mailto:' + FURL
���� else
���� s := 'http://' + FURL;
���� ShellExecute(Application.Handle, 'open', PChar(s), NIL, NIL, SW_SHOWNOR
MAL);
���� end;
����һ��ij����ӵ��������ʱ���ֵ���ɫ����仯��Ϊ�˼�������HoverColor����ʾ
�������ʱ���ֵ���ɫ��
����Property HoverColor : TColor Read FHoverColor Write SetHoverColor defaul
t clRed;
������Ҫ������������Windows��ϢCM_MOUSEENTER��CM_MOUSELEAVE������ƽ���Ƴ���
�Ĺ�̣�
����Procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
����Procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
����Procedure TLeiLabel.CMMouseEnter (Var Message: TMessage);
���� begin
���� If Enabled and Visible and getParentForm(Self).Active then
���� begin
���� FFontColor := Font.Color;
����//�����ֵ���ɫ��������
���� Font.Color := FHoverColor;
����//�ı�������ɫ
���� End;
���� end;
����Procedure TLeiLabel.CMMouseLeave (Var Message: TMessage);
���� begin
���� Font.Color:=FFontColor;
����//�ָ�����ԭ������ɫ
���� end;
����Ϊ�������Ե�Ĭ��ֵ�����ǻ���Ҫ���ع���Create()��ע�⣬���ع���ʱ��������
����������Ĺ��졣���ع���Create()�ij������£�
���� constructor TLeiLabel.Create(AOwner: TComponent);
���� begin
���� inherited Create(AOwner);
����//�������ȵ���������Ĺ���
���� FStyle3D := Normal;
���� FXOffSet := 5;
���� FYOffSet := -5;
���� FHoverColor := clRed;
���� end;
�����������Ϊ����ؼ�����ͼ�ꡣ���ǿ�����Delphi�е�Image Editor������һ
��24��24��Bitmapλͼ������Ϊһ��DCR�ļ����ļ��������ؼ���Pas�ļ�����ͬ��λ
ͼ�������ؼ�����ͬ��ȫ����д��
�Ը��ĵ�����
aatu (2001-11-7 12:41:03)
��д��һ����������Ӧclick�¼����������еķ����������ʹ���г���Աд���Լ���o
nclick�¼�����ô�ؼ����procedure TLeiLabel.Click����ִ�С��Һ�����Ϊֱ�Ӵ���
windows��Ϣ������δ��������Ϣ���?����ͽ���ˡ� ����
yangbiao (2001-10-14 12:49:30)
���ºܺ��Һ���Ҫ�ģ�лл�����ˣ��´���дһЩ����лл��
--
MM MM ��MM��MM����ࣻ
�罫MM�����³����ɡ�
[m[1;32m�� ��Դ:���콭ҹ�� bbs.gliet.edu.cn��[FROM: 192.168.89.122][m
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads