zoukankan      html  css  js  c++  java
  • 在TEdit中显示水印提示


    unit MyEdit;

    interface

    uses Messages, Classes, StdCtrls, Controls, Graphics;

    type
      TMyEdit 
    = class(TEdit)
      
    private
        FCanvas: TControlCanvas;
        FWatermarkHint: 
    string;
      
    protected
        
    procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
        
    procedure CMExit(var Message: TCMExit); message CM_EXIT;
      
    public
        
    constructor Create(AOwner: TComponent); override;
        
    destructor Destroy; override;
      
    published
        
    property WatermarkHint: string read FWatermarkHint write FWatermarkHint;
      
    end;

    implementation

    { TMyEdit }

    procedure TMyEdit.CMExit(var Message: TCMExit);
    begin
      
    inherited;
      Perform(WM_PAINT, 
    00);
    end;

    constructor TMyEdit.Create(AOwner: TComponent);
    begin
      
    inherited Create(AOwner);
      FCanvas :
    = TControlCanvas.Create;
      FCanvas.Control :
    = Self;
    end;

    destructor TMyEdit.Destroy;
    begin
      FCanvas.Free;
      
    inherited;
    end;

    procedure TMyEdit.WMPaint(var Message: TWMPaint);
    begin
      
    inherited;
      
    if (not Focused) and (Self.Text = ''and (FWatermarkHint <> ''then
      
    begin
        FCanvas.Font :
    = Self.Font;
        FCanvas.Font.Color :
    = clGrayText;
        FCanvas.TextRect(Self.ClientRect, 
    11, FWatermarkHint);
      
    end;
    end;

    end.
  • 相关阅读:
    岁月
    唯美励志古风
    活着
    走进华夏统一
    使用Fiddler测试WebApi接口
    深入了解正则表达式
    Linux 学习_ssh(secure shell)
    PHP使用mysql扩展操作数据库
    给自己的网站加点情趣,常用的javaScript效果
    三层架构的基础知识
  • 原文地址:https://www.cnblogs.com/klaus/p/1815030.html
Copyright © 2011-2022 走看看