在Messages.pas里面
TWMLButtonDblClk = TWMMouse;//这些是声明实例
  TWMLButtonDown   = TWMMouse;
  TWMLButtonUp     = TWMMouse;
  TWMMButtonDblClk = TWMMouse;
  TWMMButtonDown   = TWMMouse;
  TWMMButtonUp     = TWMMouse;TWMMouse是一个变体的记录类型只有声明,没找到定义的对象,我想看看到底是怎么用变体的记录类型,好理解一下,使用变体的记录类型有什么用,谁能告诉我去哪里找?
或者帮我找到应用变体的记录类型的相关源代码也行。

解决方案 »

  1.   

    你想知道TWMMouse是什么,还是怎么用记录或用途?
      

  2.   

    我知道TWMMouse是一个变体的记录类型想知道使用变体的记录类型有什么用,谁能告诉我去哪里找?
    或者帮我找到应用变体的记录类型的相关源代码也行。
      

  3.   

    找不到?1440行搜索总可以吧  TWMMove = packed record
        Msg: Cardinal;
        Unused: Integer;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      

  4.   


    当然是用的。搜索。Messages.pas里面只有声明,没有定义。
    thx1180给的代码就是变体的记录类型,可我想知道的是如何使用变体局类型的代码,好知道这种类型有什么用,也好加深我对它的理解。版本是Delphi XE多谢2位关注
      

  5.   

    变体记录相当于C/C++里的联合结构,不同类型表示的数据存在相同的内存地址(这样解释有点含糊了。。),举个例子吧:
    Type
      TSingleRecord = record
        case Integer of
          0:(b1,b2,b3,b4:Byte);
          1:(Value:Single);
      end;这个常用在和下位机通信中,按字节存入数据,按单精度浮点数读出(或者反之),呵,好用吧
    (当然也可以用指针实现同样功能,不过我喜欢用变体记录,直观)