- ベストアンサー
LISTBOXで「他アプリ」を操作する
例えば、こういった「他アプリ」があったとします。 Listboxをマウスクリックして選択項目を選択すると ダイアログが表示されて変更されたことを表示するアプリです。 上記の内容を自作アプリで操作したのです。 そこで、 まず、「SendMessage ******, LB_SETCURSEL, 2, 0)」で Listboxのindex「2」に選択をさせるメッセージを送信しました。 インテックス選択(変更)は行われましたが、マウスクリックした ようなイベントはおこりませんでした。 そこで、質問なんですが、上記「他アプリ」を自作ソフトで操作するには どのようにしたら良いのでしょうか? わかる方がいらっしゃいましたらご教授願えませんでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
LBN_SELCHANGEかな
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルVBAでやってます。VBにも同じようなものはあるので修正してください。SendMessageとかのレベルへもって行かなくても良いように思って、一筆。 Sub test06() Worksheets("sheet5").ListBox1.AddItem "新規" Worksheets("sheet5").ListBox1.AddItem "変更" Worksheets("sheet5").ListBox1.AddItem "抹消" End Sub で例えば3項目をリストボックスにアイテムを登録。 リストボックスのクリックイベントに Private Sub ListBox1_Click() MsgBox Worksheets("sheet5").ListBox1.List(ListBox1.ListIndex) _ & "を実行しました" End Sub 例えば、新規をクリックすると「新規を実行しました」と表示します。ここを修正して ListBox1.ListIndexの値で、各モジュールに飛ばせばどうですか。 力不足の勘違いならご免あそばせ。
- popesyu
- ベストアンサー率36% (1782/4883)
>マウスクリックしたようなイベントはおこりませんでした ListBOXを選択させているだけのSendMessageでマウスのクリックイベントが発生するはずもなく。マウスクリックのイベントを発生させたいのなら、同様にマウスクリックのイベントもSendしましょう。(参考URLの1828 ) が、プログラム的には別にインデックスの変更だけ見張っておいても問題ないかと思いますが。マウスクリックを発生させる利点は別にないかと。
お礼
お世話になりましたおかげさまで、Listの内容を相手方のイベントで反映させることができました。ありがとうございました