当前位置: 首页 > news >正文

手机管理网站明星网站开发项目介绍

手机管理网站,明星网站开发项目介绍,网页设计各个部分的尺寸,如何看网站建立时间为什么要这样做#xff1f;有时候我们需要一个非窗口组件(比如一个非继承自TWinContrl的组件)可以接受Windows消息。要接受消息就需要一个窗口句柄#xff0c;但是非窗口组件却没有句柄。这篇文章将讲述怎么让一个没有句柄的组件如何通过一个隐藏的窗口接受消息这是怎么做到的…为什么要这样做有时候我们需要一个非窗口组件(比如一个非继承自TWinContrl的组件)可以接受Windows消息。要接受消息就需要一个窗口句柄但是非窗口组件却没有句柄。这篇文章将讲述怎么让一个没有句柄的组件如何通过一个隐藏的窗口接受消息这是怎么做到的例如我的剪贴板查看组件就是一个不可视的组件。这个窗体可以接收提供信息关于更改剪贴板的消息。Delphi库里面的AllocateHWnd函数可以帮助我们创建一个隐藏的窗口同时与之相关的DeallocateHWnd函数可以释放当我们使用完的隐藏窗口。 这个隐藏的窗口将命令窗口过程。 通常当Windows调用一个stdcall函数时AllocateHWnd函数能让我们像窗体过程一样的使用方法。 我们通过一个引用allocatehwnd函数所需的方法来并将它注册为一个窗口过程的方法来解决问题。 在这个被注册的方法内部我们可以处理我们感兴趣的消息同时传递给Windows下面的代码清单2停工了一个如何使用AllocateHWnd函数的框架。尽管如此我们的代码清单1定义一个组件类的轮廓 ------------------代码清单1------------------type  {*******************************   Our class derived from TComponent     or another ancestor class  ********************************}  TMyClass class(TComponent)  private    fHWnd: HWND;      {*******************************       field to store the window handle       存储窗口句柄的字段       ********************************}    ...  protected    procedure WndMethod(var Msg: TMessage); virtual;    {*******************************       window proc - called by Windows    窗口过程(window proc) 由windows系统调用     to handle messages passed to our     hidden window    该窗口过程是用来处理传递到我们的隐藏窗口的 ********************************}    ...  public     constructor Create(AOwner: TComponent); override;     {*******************************      create hidden window here:       store handle in fHWnd      在这里创建隐藏窗体并且把它的句柄存储在fHWnd字段。     ********************************}     destructor Destroy; override;     {*******************************      free hidden window here      销毁隐藏窗口过程     ********************************}     ...  end;------------------代码清单1------------------ 同时下面将是实现部分的详细代码 ------------------代码清单2------------------constructor TMyClass.Create(AOwner: TComponent);begin  inherited Create(AOwner);  ...  //创建一个隐藏窗体并且用WndMethod过程  fHWnd : AllocateHWnd(WndMethod);  ...end;destructor TMyClass.Destroy;begin  ...  //销毁隐藏窗口  DeallocateHWnd(fHWnd);  ...  inherited Destroy;end;procedure TMyClass.WndMethod(var Msg : TMessage);var  Handled: Boolean;begin  //假定我们可以处理消息  Handled : True;  case Msg.Msg of    WM_SOMETHING: DoSomething;       //处理消息的代码    WM_SOMETHINGELSE: DoSomethingElse;       //处理另一个消息的代码    //这里处理其他的消息    else      //我们不再处理消息      Handled : False;  end;  if Handled then    //我们在消息记录里处理消息    Msg.Result : 0  else    //我们通过DefWindowProc函数    //不处理的消息同时记录结果    Msg.Result : DefWindowProc(fHWnd,                                Msg.Msg,                                 Msg.WParam,                                Msg.LParam);end;------------------代码清单2------------------   原文Of course, we could just use the Windows API to create a window the hard way and provide a windows procedure. But it is more difficult to use a method as a window procedure if we do it this way. The clever features about AllocateHWnd are that (a) it creates the hidden window for us and (b) it allows us to use a method, rather than a simple procedure, as the window procedure – and a method is more useful since it has access to the classs private data.   译文当然我们仅使用 Windows API提供的比较难的方式创建了一个window窗口并提供窗口过程。但是如果我们采用这种方式那么把一个方法作为窗口过程来使用的话将是困难的。 关于AllocateHWnd灵活的特性有a它创建一个隐藏窗口给我们使用b它允许我们使用一个方法而不是一个简单的过程(procedure)作为该窗口过程——当使用这个方法来访问该类的私有数据的时候更加有用。 后记第一次翻译文章可能有些地方理解的不是很透彻所以附录原文地址如下.原文http://www.delphidabbler.com/articles?article1转载于:https://www.cnblogs.com/yzryc/p/6397393.html
http://www.zqtcl.cn/news/871427/

相关文章:

  • 毕业设计做网站选题营销型网站功能模块
  • 西部数码网站管理助手安装建工教育网
  • wordpress 网站logowordpress文本编辑器插件
  • 杭州装饰网站建设如何免费建购物网站
  • 在vs做的项目怎么连接到网站珠海有什么网站
  • 网上购物网站建设论文6做的网站必须放在idc机房吗
  • 基于asp.net的视频网站开发500套wordpress模板
  • 商城模板建站价格寻找专业网站建设
  • 网址我的上网主页seo培训中心
  • 上海建网站服务器河南网站推广优化排名
  • 夸克作文网站淄博团购网站建设
  • 家居类企业响应式网站一个很好的个人网站开发
  • 推荐网站建设服务器百度竞价入口
  • 微信如何做网站100个成功营销策划案例
  • 手机网站分享js代码外贸网站做几种产品
  • 文化网站建设论文wordpress模板打包
  • 学校网站查询做网站 先上线再调整
  • 如何制作一个好网站培训教育网站开发
  • 杭州市网站seo网站微信建设
  • 做购物网站 需要手续安徽科技学院
  • 网站顶部下拉广告网页游戏设计培训学校
  • 做seo的网站是怎么样的wordpress访问地图
  • 国外psd免费下载网站公司网站设计的公司
  • jsp sql 网站开发天津建站管理系统信息
  • 网站建设教程搭建浊贝湖南岚鸿给力企业网站定制公司
  • 网站建设与数据库维护 pdf廊坊seo关键字排名
  • 十元精品店做网站微信开发网站制作
  • 做乡镇网站地图上搜索不到的公司正规吗
  • 新材料 东莞网站建设多wordpress整合
  • 17做网店这个网站做起多少钱中信建设有限责任公司招标平台