高分请教几个简单问题 ( 积分: 120 )

  • 主题发起人 主题发起人 qiuqiu133
  • 开始时间 开始时间
Q

qiuqiu133

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何判断鼠标move到了一个指定的控件上,又如何判断鼠标move离开了这个控件?(20)
2.用indy中的idpop控件做接收邮件程序时,如何解决乱码问题?附件的文件类型如何获得?(70)
3.如何判别一字符串的字符是汉字还是字母?(30)
 
1.如何判断鼠标move到了一个指定的控件上,又如何判断鼠标move离开了这个控件?(20)
2.用indy中的idpop控件做接收邮件程序时,如何解决乱码问题?附件的文件类型如何获得?(70)
3.如何判别一字符串的字符是汉字还是字母?(30)
 
3, for i:=1 to length(str) do
begin
c:=str;
if length(c)>1 then
showmessage('汉字');
end;
 
3.用bytetype函数,详看帮助
 
1,PtInRect 函数用来判断指定点是否在指定矩形内,

BOOL PtInRect(

CONST RECT *lprc, // 指定矩形的地址
POINT pt // 指定点
);

返回值:

如果指定点在矩形内,返回非零值。否则,返回零值。
 
1.有一个消息 忘记了 WM_HITTEST? 比如鼠标移动到一个WinControl上的时候,鼠标形状会跟随着改变。
3.自己查资料,汉字是有其特点的。或者charnext
 
对于1取得控件的rect是
var
w:thandle;
rect:trect;
begin
w:=findwindow('notepad',nil);
//如果是子控件findwindowex
GetWindowRect(w,rect);
showmessage(inttostr(rect.left));
end;
 
对于第一个问题,怎么动态的获得鼠标是不是在控件上,用什么事件?用mousemove事件能判断进去了,但是不能判断出来了,千万不要说用Timer1Time事件!
 
1的问题我告诉你了啊GetWindowRect(w,rect);取得函数的矩形区域,PtInRect 判断鼠标是否在这个矩形区域啊。
 
2.放个解码控件在 Indy Misc 上,IdDecoderMIME
 
To iorizht
我现在问的是怎么动态的(注意是动态)知道鼠标是不是在控件内,而不是只判断一次就行了
To weekboy
能不能具体点?
 
哦,我明白了,我的方法截获鼠标消息在做判断好象也行,不过这样做就麻烦了,关注下,学习!!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
912
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部