科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Delphi之三十六计之界面篇

Delphi之三十六计之界面篇

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在主窗体中添加Image1控件......

作者:陈立平 来源:yesky 2007年11月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
7.自汇状态栏

//设置状态栏面板对象的Style为OwnerDraw,并在状态栏对象的DrawPanel事件中书写以下代码:

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: Trect);
 begin
  with statusbar1.Canvas do begin
   Brush.Color := clRed;
   FillRect(Rect);
   TextOut(Rect.Left, Rect.Top, "Panel "+IntToStr(Panel.Index));
  end;
 end;

  8.一个具有超连接性质的Label(示范如何使控件具有鼠标进入与退出事件)

 //新建单元,创建以下类

 uses Windows, Messages, Graphics, Controls, StdCtrls;

 ………..

 TMyLabel = class(Tlabel)
 Private
  FMouseInPos : Boolean;
  procedure CMMouseEnter(var Amsg: Tmessage); message CM_MOUSEENTER;
  procedure CMMouseLeave(var Amsg: Tmessage); message CM_MOUSELEAVE;
  protected
  procedure Paint; override;
 End;

 //各事件代码

 procedure TMyLabel.CMMouseEnter(var Amsg: Tmessage);

  begin
   FMouseInPos := True;
   Refresh;
  end;

procedure TMyLabel.CMMouseLeave(var Amsg: Tmessage);

begin
FMouseInPos := False;
Refresh;
end;
procedure TMyLabel.Paint;
 begin
  if FMouseInPos then
 begin
  Font.Color := clRed;
  Font.Style := Font.Style + [fsUnderline];
 end
 else
begin
 Font.Color := clBlue;
 Font.Style := Font.Style - [fsUnderline];
end;
 Inherited Paint;
end;
 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章