VBで使うOCXを作ろうとしていますす。
VBのテキストボックスのプロパティのAppearanceは 0-フラット 1-3D を選択できます
が、オリジナルに作成したプロパティに 0-無し 1-有り で選べるプロパティ
を作る方法を教えてください。
下記で既に質問されていました。
http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200401/04010012.txt
上記より切り貼り----------------------------------------------------
odlファイルに以下のソースを追加しました。
typedef [ uuid(AB95479D-8CE4-52EA-99F3-69752424522B), hidden ]
enum {
styleFoo = 0,
styleBar = 1
} MyStyleSettings;
dispinterface _DTttttt
{
properties:
// メモ - ClassWizard はこの位置にプロパティ情報を追加します。
// このセクションの編集は慎重に行ってください。
//{{AFX_ODL_PROP(CTtttttCtrl)
[id(1)] MyStyleSettings test;
//}}AFX_ODL_PROP
methods:
// メモ - ClassWizard はこの位置にメソッド情報を追加します。
// このセクションの編集は慎重に行ってください。
//{{AFX_ODL_METHOD(CTtttttCtrl)
//}}AFX_ODL_METHOD
[id(DISPID_ABOUTBOX)] void AboutBox();
};
そして、このOCXをVBのフォームに利用すれば、確かにtestというプロパティは自動的に「0-styleFoo」「1-styleBar」の選択項目が設定されています。
ただし、このOCXをVCのフォームに利用するとき、testというプロパティを表示していません。
---------------------------------------------------------------------
typedef [ uuid(AB95479D-8CE4-52EA-99F3-69752424522B), hidden ]
enum {
styleFoo = 0,
styleBar = 1
} MyStyleSettings;
を追加する場所がわかりません。
uuid(AB95479D-8CE4-52EA-99F3-69752424522B), ....とあることは
直接テキストに追加できないのかな?
下記の場所で翻訳も出来ました。
library XXXXLib
{
importlib(STDOLE_TLB);
importlib(STDTYPE_TLB);
typedef [ uuid(AB95479D-8CE4-52EA-99F3-69752424522B), hidden ]
enum {
フラット = 0,
3D = 1
} MyStyleSettings;
3Dを全角で記述しているのでが、半角で記述するとエラーになって
しまいました。(先頭が数字だから?)
3D
#,##0
#,###
yy/mm/dd
yyyy/mm/dd
なども使いたいのですがエラーになります。
""や()で括ってもだめでした
何方か、記述方法を知りませんか?
[VC40] OCX 列挙型プロパティの作成方法
http://support.microsoft.com/kb/403823/ja
これで出来ました。
新規でプロジェクト作成するなどして
上から順番通りにやってみてください。
"む"さんありがとうございます。
意味も分からず記述したら出来ました。
http://support.microsoft.com/kb/191872/ja
という技があったようですが、VB6では使えないようです。
#私も今回の質問があって初めて知った使い方なので
#お互い精進しましょう。
なにこれ?
>[VC40] OCX 列挙型プロパティの作成方法」
>http://support.microsoft.com/kb/403823/ja
いきなりリンク先がなくなったので、同様の情報が必要な方は
MSDNのオフラインの方のヘルプで、
キーワード「OCX 列挙型プロパティの作成方法」で検索してください。
>む 2009/02/02(月) 15:13:37
の時点では存在していたのですが検索できなくなってます。
多分、サンプルの
「あああ」
「いいい」
「ううう」
「えええ」
とかがMS的に駄目だったのかも・・・。
最近のオフラインMSDNでは知りませんが「あああ」でも検索できました。
ツイート | ![]() |