存货计价测试:delphi中截获消息的问题如下面

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 07:36:54
unit myrich;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs,ComCtrls,

StdCtrls;

type

Tmyrich = class(TRichEdit)

private

{ Private declarations }

protected

{ Protected declarations }

{ other fields and methods}

procedure WndProc(var message:Tmessage);override;

public

{ Public declarations }

published

{ Published declarations }

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Samples', [Tmyrich]);

end;

procedure Tmyrich.WndProc(var message:tmessage);
var
ss:Integer;

begin

if (message.msg=wm_vscroll) and (message.WParam =sb_linedown) then

begin

ss:=GetScrollPos(Handle ,SB_VERT );
SetScrollPos(Handle ,SB_VERT,ss+1, TRUE);

exit;

end;

inherited WndProc(message);

{其他消息交父辈wndproc处理}

end;

end.
{我打算在(message.msg=wm_vscroll) and (message.WParam =sb_linedown)的时候
只是滚动滚动条一个象素
可是失败
问为什么
怎么改变