CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

判断是不是这个窗体

楼主shirleyttt(兔兔)2005-10-16 16:29:00 在 Delphi / VCL组件开发及应用 提问

procedure   Tfrmcheckin.FormCreate(Sender:   TObject);  
  begin  
      Application.OnMessage:=self.AppMessage;  
  end;  
  procedure     Tfrmcheckin.AppMessage(var   Msg:   TMsg;   var   Handled:   Boolean);  
  begin  
      if   Msg.message   =   WM_KEYDOWN   then  
      begin  
          if   (Msg.wParam=vk_f1)then  
          begin  
              butdesk.click   ;  
              exit;  
          end;  
  end;  
   
  按下F1就触发butdesk.click   这个事件。怎么能判断,我只在frmcheckin这个窗体出现时按下F1有效,其他窗体出现时按下F1无效 问题点数:50、回复次数:7Top

1 楼linzhengqun(风。我回来了)回复于 2005-10-16 16:57:52 得分 20

if   Msg.Handle   =   frmcheckin.Handle   then  
  ...Top

2 楼senfore(来而不往非礼也!)回复于 2005-10-16 18:13:24 得分 5

二楼正解。。Top

3 楼cdsgajxlp(起名很难)回复于 2005-10-16 21:17:14 得分 5

高手说的对Top

4 楼shirleyttt(兔兔)回复于 2005-10-17 09:56:00 得分 0

procedure     Tfrmcheckin.AppMessage(var   Msg:   TMsg;   var   Handled:   Boolean);  
  begin  
      if   (Msg.message   =   WM_KEYDOWN)   and   (Msg.hwnd   =   frmcheckin.Handle)   then  
      begin  
          if   (Msg.wParam=vk_f1)then  
          begin  
              butdesk.click   ;  
              exit;  
          end;  
  end;  
   
  我这样试过,但在frmcheckin这个窗体,按下F1不发生任何事件,打开这个窗体后,关上,再开别的窗体,按下F1依然会出错Top

5 楼shirleyttt(兔兔)回复于 2005-10-17 10:13:10 得分 0

哦,是因为焦点在窗体上的EDIT,所以发出的消息不是frmcheckin.handlw而frmcheckin.edit1.handle,  
  怎么判断是不是   frmcheckin上所有控件发出的消息而不是其他窗体上的呢Top

6 楼abc3000(想想就烦)回复于 2005-10-17 10:26:40 得分 20

form的keypreview设置为trueTop

7 楼shirleyttt(兔兔)回复于 2005-10-17 10:36:17 得分 0

回复人:   abc3000(想想就烦)   (   )   信誉:106     2005-10-17   10:26:00     得分:   0      
     
     
        form的keypreview设置为true  
       
     
  楼上的办法,好象无效的样子:(Top

相关问题

  • 已经一个窗体的hwnd,请教如何判断这个窗体是否被激活?谢谢!
  • 如何在窗体关闭时判断某条件,不满足时不让窗体退出?
  • 如何判断该窗体已经存在?如果存在则激活该窗体,不存在则new一个???
  • 用JAVASCRIPT如何判断父窗体的子窗体是否打开,如果没有打开则打开子窗体,如果已经打开,则不打开
  • 已知一个窗体名,怎样判断它存不存在,显不显示?
  • 请大家帮我看看,我的函数不会判断是那个窗体
  • 如何判断有文件被拖拽入窗体而不松开鼠标
  • 如何判断鼠标是否经过窗体,想实现如QQ一样的窗体自动隐藏效果,当鼠标不在窗体上时自动隐藏窗体
  • 如何判断窗体是否关闭?
  • 如何判断窗体已经加载

关键词

  • 窗体
  • frmcheckin
  • appmessage
  • butdesk
  • tfrmcheckin
  • 判断
  • msg
  • 下f1
  • handle
  • begin

得分解答快速导航

  • 帖主:shirleyttt
  • linzhengqun
  • senfore
  • cdsgajxlp
  • abc3000

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo