Article View: cn.bbs.comp.language
Article #25��Delphi�б�д�ؼ��Ļ���
From: �Ϲ⡤��������
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
Technical Details
Message-ID:
<3lJGLE$xjJ@bbs.gliet.edu.cn>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news.cn99.com!jnunews.dhs.org!LiRiverBBSShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: faaec,ab59a0d84db056fc,start X-Google-Attributes: gidfaaec,public X-Google-ArrivalTime: 2002-03-13 04:00:13 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news.cn99.com!jnunews.dhs.org!LiRiverBBS From: Single.bbs@bbs.gliet.edu.cn (�Ϲ⡤��������) Newsgroups: cn.bbs.comp.language Subject: ��Delphi�б�д�ؼ��Ļ��� Date: 13 Mar 2002 19:10:14 GMT Organization: �콭ҹ��BBS Message-ID: <3lJGLE$xjJ@bbs.gliet.edu.cn> X-Filename: programming/M.1016046590.A Lines: 109