这是一个PLT-方案包装库的一部分:

(define InputMask

  (_bitmask '(NoEventMask =            #x00000000

            KeyPressMask =             #x00000001

            KeyReleaseMask =           #x00000002

            ...

            OwnerGrabButtonMask =      #x01000000)

      _long))

的事情是我不能找出如何访问字段中的位掩码(或枚举为此事)。我怎样才能获得例如KeyPressMask价值?

有帮助吗?

解决方案

您没有。添加ctypes的很容易:做一个新的命令类型,您需要提供现有的命令类型的基础上,和两个功能 - 一个翻译任何现有的类型,以及一个其他的方式来翻译

现在,_bitmask型少了点 - 它建立在_int(但你的情况,这是对_long),和两个翻译功能翻译的符号列表到一个整数,一个整数符号列表。一旦这样的类型时,你不需要知道KeyPressMask的价值 - 你只知道你可以通过'(KeyPressMask)作为InputMask输入外国功能的,这将被转换为相应的数字;你也知道,当你从一个具有InputMask输出函数的结果值,那么这将是可能含有KeyPressMask符号列表。底线是,在计划方面,你不处理数字 - 只有符号列表

如果您的的需要访问这些数值对于一些模糊的原因,那么你可以建立在其他某种方式对你自己的CTYPE - 使用make-ctype(正如我上面所述)应该是很容易<。 / p>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top