DELPHI消息的处理流程
消息的处理流程,流程如下:
其派发处理过程详细如下:
注意:TWinControl里面WndProc有调用系统API DefWindowProc,该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理。而TWinControl里面DefaultHandler又调用了系统API CallWindowProc,该函数CallWindowProc将消息信息传送给指定的窗口过程。
最后消息处理过程,以WM_LBUTTONDOWN消息为例如下:
这里就可以注意一下:MouseDown()函数是一个dynamic方法,因此可以先覆盖MouseDown()函数来处理自己的一些事件,然后用inherited来调用MouseDown()来执行组件里面的OnMouseDown代码
相关文档:
absolute
//它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.
var
Str: string[32];
StrLen: Byte absolute Str;
//这个声明指定了变量StrLen起始地址与Str相同.
//由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.
begin
Str := 'abc';
Ed ......
Delphi中实现全角转半角
function SbctoDbc(s:string):string;
var
nlength,i:integer;
str,ctmp,c1,c2:string;
{
在windows中,中文和全角字符都占两个字节,
并且使用了ascii chart 2
(codes 128 - 255
)。
全角字符的第一个字节总是 ......