引き続きVBP。 インターフェースを増やしたら7でEOleSysErrorが・・・プロパティ設定の記録ができたー

2011年04月21日

三歩進んで二歩下がる-

 13日のOLEオブジェクトのインスタンスが持続されない というのは オオウソ だった。
 よく見ると、Create段階で派生元のコンストラクターを呼び出す記述を書き落としているではないか!
 なんのこっちゃ(´?д?;`)  で
 結局CreateOleObjectを使う必要は全く無い!  ということで、また前に戻って修正・修正

 マクロ記録は、フィーチャ選択モードでのプロパティ設定の記録に進んだ。 マクロ記録はとりあえずこのプロパティ設定まででよいことにしようと思う。
VbpEditor14


 これさえあれば、マクロ記録でフィーチャのプロパティ設定のやり方やプロパティ名が分かるので、これで十分応用できると思う・・・

 これが終わったらまたActiveX関係のヘルプを手直ししなくては・・・ だいぶプロパティ・メソッドが増えた

 テストの最中で、左ボタン右方向ドラッグのコマンドショートカットメニューが意図しないときに出て、一々消すのが面倒になり、 もう一度このポップアップメニューを見直し、 ちゃんと、よそをクリックしたらメニューが消えるようにした。

 LDragMenu
 この自作メニューはドラッグしながら表示されるので、フォーカスを受けとる時点でマウスボタンが押されていることが前提で(普通はありえない)、 どうしてもモーダルで表示したい理由があって、でもモーダルだとこのウインドウ以外をクリックしてもどこにもメッセージが来ない。 メッセージが拾えないとこのメニューを消すタイミングが掴めない・・・
 「もうええにしようか」とあきらめかけた時に ひらめいた!! 掟破りの方法。  結果的に普通のポップアップメニューと同じ動きを実現。  これでこのメニューが邪魔にならなくなり、使いやすくなった
 極めて自己満足です。

ho_cad at 18:22│Comments(2)TrackBack(0)

トラックバックURL

この記事へのコメント

1. Posted by 青   2011年04月21日 18:55
お疲れさまです。
テンコ盛りに解らないスワヒリ語状態なのですが。
「モーダル」の意味がどうしても知りたくて、ググッてしまいました。
「モーダルダイアログ」って意味・・ですね。
これが出ている時は外の操作ができない<と解説がありました。

なんだか最近はコメが出来る内容で無くなったので、とりとめの無いワードでからんでみました(がはは)
2. Posted by pao   2011年04月22日 08:19
そうです モーダルダイアログ。 そのダイアログが表示されると、オーナーのアプリケーションの内、自信以外のウインドウやコントロールを全て無効にして、自信のウインドウのみがウインドウズからのマウス操作などのメッセージを受け取るようになる・・・ 一般的なダイアログボックスは全てこのモードで表示されます。
 この場合、自信のウインドウの外での操作
を捉まえることができないのです。
 そもそも[OK]とか[キャンセル]をクリックしてモーダルを終了することが前提だから・・・
 このメニューは、作図エリアでドラッグを開始したら表示して、そのまま継続してドラッグしメニュー項目の上でマウスボタンを開放したらメニューを選択できるし、外でボタンを開放してから改めてクリックしても選択できるところに掟破りの特徴があって(そんなメニューパネルは他で見たことがない)、それで苦労しました。 

コメントする

名前
 
  絵文字
 
 
引き続きVBP。 インターフェースを増やしたら7でEOleSysErrorが・・・プロパティ設定の記録ができたー