如何让edit控件中的光标隐藏(输入指示). THANKS!!!

shujian 2000-06-24 02:06:00
如何让edit控件中的光标隐藏(输入指示). THANKS!!!
...全文
347 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
FBStudio 2000-07-12
  • 打赏
  • 举报
回复
  调用Windows API 函数 BOOL HideCaret(HWND hWnd);
  hWnd为edit控件的窗口句柄,成功时返回非0值。
  注意此函数仅当hWnd拥有插入符时才有效,且当调用n次此函数后,需调用n次ShowCaret(HWND hWnd)才能使插入符再显示出来。
  当hWnd为NULL时,隐藏当前任务中拥有插入符的窗口中的插入符。
yeah 2000-07-12
  • 打赏
  • 举报
回复
只要过滤WM_SETCURSOR消息即可
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
Old:TwndMethod;
procedure NewMethod(Var Message:TMessage);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
Old:=Edit1.WindowProc;
Edit1.WindowProc:=NewMethod;
end;

procedure TForm1.NewMethod(var Message: TMessage);
begin
if Message.Msg<>WM_SETCURSOR then
Old(Message);
{如果既不要输入光标,也不要焦点则可以这样}
if (Message.Msg<>WM_SETCURSOR) and (Message.Msg<>WM_SETFOCUS) then
Old(Message);
end;

end.
jiangtao 2000-06-25
  • 打赏
  • 举报
回复
API Fun:
HideCaret(HWND hwnd)
牛魔王的表弟 2000-06-24
  • 打赏
  • 举报
回复
一个 api函数,showcursor(false)
我应该没记错吧
TopHead 2000-06-24
  • 打赏
  • 举报
回复
在VB中可以使用API实现,不知道在Delphi中行不行?