OCXで列挙型プロパティを作る
VBなんかのデザインモード時にプロパティエディタで、
1-実線
2-点線
3-破線
・・・
みたいにドロップダウンコンボで選べるプロパティがあるOCXを見たことが有るはずだ。
自分で作ったコントロールだとEditで直値入力なのに、
市販のOCXだと何でドロップダウンになってるんだろう・・と思っている人は
IPerPropertyBrowsingインターフェィスを実装してみるといい。
IDLでコントロールのプロパティ作成時に、IDLで定義したenum型を利用する
という手も無くはないのだが、Container側のというか、
プロパティエディタの実装によってドロップダウンに成ったり成らなかったりするし、
表示できる文字列に制限が出てしまう。
実装することでちゃんと表示できるのだが、
プロパティが多いと大変なのと何も考えずに実装すると値を変更したときに大変なのだ。
ちゃんと値と同期が取れるような仕組みを考えるのが吉。
ちょっとググってみたら、
[No1027: ATLでのプロパティ設定 [Daisuke Hoshina] (97/12/17 06:54)]
が解りやすいかな。
先日のスレッド問題もだけど、この辺も97年。もう8年も前?(笑
OCX、COMって全然新しくないし今考えるならちゃんと今の先を見据えないと
COMで作っても駄目だろうなぁ。
トラックバック URL : http://nyanyan.to/archives/164/trackback
コメント (278)