网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
从实作标题栏按钮开始浅谈组件的制作
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
ted;



  if (Operation = opRemove) and (Component = FPopup) then



    FPopup := nil;



end;







function TTitleBarButton.GetBoundsRect: TRect;



var



  Rec: TRect;



  FrameThick: Integer; //窗体框架厚度



  BtnWidth,BtnHeight: Integer; //标题栏按钮的宽度和高度



begin



  GetWindowRect(FForm.Handle,Rec); //得到窗体边界矩形,相对于屏幕左上角







  with Result do



  begin



    FrameThick := GetSystemMetrics(SM_CYFRAME);



    Left := (Rec.Right - Rec.Left) - RightMargin - FrameThick;



    Top := FrameThick;



    if FForm.Borderstyle in [bsSizeToolWin, bsSizeable] then



    begin



      Dec(Left, 2); Inc(Top, 2);



    end



    else begin



      Dec(Left); Inc(Top);



    end;



    if (FForm.Borderstyle in [bsSizeToolWin,bsToolWindow]) then



    begin



      BtnWidth := GetSystemMetrics(SM_CXSMSIZE) - 2;



      BtnHeight := GetSystemMetrics(SM_CYSMSIZE) - 4;



    end



    else begin



      BtnWidth := GetSystemMetrics(SM_CXSIZE) - 2;



      BtnHeight := GetSystemMetrics(SM_CYSIZE) - 4;



    end;



    Right := Left + BtnWidth;



    Bottom := Top + BtnHeight;



  end;



end;







procedure TTitleBarButton.Paint;



var



  GlyphRect: TRect;



begin



  if not FVisible then Exit;



  with TCanvas.Create do



  begin



    try



      Handle := GetWindowDC(FForm.Handle); //得到窗体DC,包括标题栏、菜单、滚动条等







      Brush.Color := FColor;         //画Button凸起和按下时的外观



      if FButtonDown then



        Pen.Color := clBtnHighlight



      else



        Pen.Color := cl3DDkShadow;



      Rectangle(BoundsRect);



      with BoundsRect do



      begin



        if FButtonDown then



          Pen.Color := cl3DDkShadow



        else



          Pen.Color := clBtnHighLight;



        MoveTo(Left,Bottom-2);



        LineTo(Left,Top);



        LineTo(Right-1,Top);



        Pen.Color := clGray;



   &
  • 上一篇资讯: 通过API访问IE Cache
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号