关闭

ShellListView处理退格键

650人阅读 评论(0) 收藏 举报
ShellListView这个控件不能通过OnKeyDown、OnKeyPress等事件来设置按键操作是否有效,因为操作处理在它们之前。其实可以这样做:不处理退格消息。下面重写一个新的TShellListView类,在WndProc方法中不处理退格消息。

type
{ TShellListViewEx }

TShellListViewEx = class(TShellListView)
protected
procedure WndProc(var Message: TMessage); override;
end;

implementation

{ TShellListViewEx }

procedure TShellListViewEx.WndProc(var Message: TMessage);
begin
if not ((Message.Msg = WM_KEYDOWN) and (Message.WParam = VK_BACK)) then
inherited WndProc(Message);
end;
ShellListView这个控件不能通过OnKeyDown、OnKeyPress等事件来设置按键操作是否有效,因为操作处理在它们之前。其实可以这样做:不处理退格消息。下面重写一个新的TShellListView类,在WndProc方法中不处理退格消息。

type
{ TShellListViewEx }

TShellListViewEx = class(TShellListView)
protected
procedure WndProc(var Message: TMessage); override;
end;

implementation

{ TShellListViewEx }

procedure TShellListViewEx.WndProc(var Message: TMessage);
begin
if not ((Message.Msg = WM_KEYDOWN) and (Message.WParam = VK_BACK)) then
inherited WndProc(Message);
end;
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:172176次
    • 积分:2330
    • 等级:
    • 排名:第16647名
    • 原创:35篇
    • 转载:115篇
    • 译文:0篇
    • 评论:16条
    最新评论