zoukankan      html  css  js  c++  java
  • Delphi下TLabel鼠标MouseEnter、MouseLeave更改颜色失灵

      在Delphi 7下,如果想在鼠标MouseEnter、MouseLeave的时候改变TLabel自身的颜色,很多人可能会采用 Label.Color := clRed;这样的方式来实现,我当初也是一样,结果无论鼠标怎么移动Tlabel都不会改变自身的颜色,但是通过Object Inspecter却可以设置TLabel的颜色,但是在它的MouseEnter、MouseLeave直接给Color属性赋值,TLabel的颜色却无法跟随鼠标的进入和移出而更改自身的颜色,经过跟踪发现TLabel的color属性原来根本就没有Color属性,而这个Color属性却是来自TControl的。

        我先看一看三幅图:

    这是最初的效果

    这是鼠标进入的效果

    这是鼠标移出的效果


    下面给出代码:
    procedure TForm1.Label1MouseEnter(Sender: TObject);
    begin
      //Label1.Canvas.Pen.Color := $0080BFFF;
      with Label3 do
      begin
        if Color <> $0080BFFF then
        begin
          Color := $0080BFFF;
          ParentColor := False;
          Perform(CM_COLORCHANGED, 0, 0);
        end;
      end;
    end;

    procedure TForm1.Label1MouseLeave(Sender: TObject);
    begin
      with Label3 do
      begin
        if Color <> clWindow then
        begin
          Color := clWindow;
          ParentColor := False;
          Perform(CM_COLORCHANGED, 0, 0);
        end;
      end;
    end;

    http://www.lsworks.net/article/44.html

  • 相关阅读:
    HDUoj(1002)A + B Problem II
    HIT Summer 20180731
    Windows10下python3.5对维基百科语料用word2vec进行训练寻找同义词相似度
    关键词抽取
    win10+python遇到:Using TensorFlow backend.错误
    Windows下Python3.5+numpy+keras+tesorflow的环境配置
    常用的一些序列号
    Umbraco扩展开发
    Umbraco Content属性
    Windows查看端口占用
  • 原文地址:https://www.cnblogs.com/findumars/p/5010747.html
Copyright © 2011-2022 走看看