ダブルクリックの場所によって・・・


ポコペン  2005-10-26 17:23:30  No: 18272  IP: 192.*.*.*

AとBの2つのアプリがある
Aはこれから作成する
Bは既に完成しており、改造はしない
以上の状況で、
Bのアプリにあるmemo上でダブルクリックをしたら、AのアプリのEditに「成功」という文字列を表示させたい
B以外のアプリや何もないとこ(デスクトップ等)などBのアプリにあるmemo上以外でダブルクリックを行っても何も処理は行いたくない
このような処理を行うにはどのような処理を実現できるのか?
ご指導ご鞭撻のほどを・・・

編集 削除
できます  2005-10-26 17:31:25  No: 18273  IP: 192.*.*.*

SendMessage や  DDE  をお勉強してください

編集 削除
いやいや  2005-10-26 18:01:52  No: 18274  IP: 192.*.*.*

>Bは既に完成しており、改造はしない
となっていますから SendMessage, DDEでは無理でしょう。
AのアプリでBのWindowをサブクラス化してMessageをつかまえて処理すれば可能でしょうね

編集 削除
えーと  2005-10-26 18:13:24  No: 18275  IP: 192.*.*.*

グローバルフックならできますね

編集 削除
Mr.XRAY  URL  2005-10-27 00:32:33  No: 18276  IP: 192.*.*.*

既にレスがありますが,Bのアプリ自身またはTMemoのサブクラス化,
あるいはグローバルなマウスフック関数でも可能と思われます.
ネット上にいろいろサンプルがありますから,検索して見て下さい.

この方法は,一般に「他のアプリ...」の操作といった分野です.
サブクラスもフック関数もWindowsのプログラムとしては,結構難しい
方かも知れません.でも,できると結構面白いものです.

操作の原理は,ウィンドウ(DelphiのFormとは限らない)の持つハンドル
(32Bitの整数値),それに加えて各コントロールのID値(固定していな
場合は利用できないことが多い)を利用する場合もあります.

では,頑張って下さい.本当はサンプルを示せばいいのでしょうけど,
きっと,いいサンプルが見つかると思います.

編集 削除