0

私は頻繁に VB6 で OCX コントロールを使用しており、次のような列挙型の独自の型名をエクスポートするものもあります。

afioShow

showは実際にはLong(符号付きの 32 ビット数) ですが、この関数のパラメーターとして値 0 ~ 4 のみが許可されるため、OCX は_afioShow0 ~ 4 の列挙として定義します。 VB6 IDE は、列挙メンバー (showMinimizedなど) を含むドロップダウン リストを自動的に表示しshowMaximizedます。

私が書いているOCXモジュールで同様のことをしたいと思います。そのようなタイプを定義してエクスポートするにはどうすればよいですか? Visual C++ 2010 を使用しています。

4

1 に答える 1

1

IDL に列挙型の typedef を記述するだけです。ランダムな例:

typedef enum {
  digitOne=1,
  digitTwo=2
} EnumDigits;

[
  object,
  uuid(5F3D3E00-0F66-4199-B548-654A9174552B),
  dual,
  pointer_default(unique)
]
interface IHandleDigits : IDispatch {
  [id(0),  propget] HRESULT Digit([out,retval] EnumDigits* retval);
}
于 2012-07-27T01:07:56.130 に答える