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


ポコペン  2005-10-27 02:23:30  No: 18272  IP: [192.*.*.*]

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

編集    削除
できます  2005-10-27 02:31:25  No: 18273  IP: [192.*.*.*]

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

編集    削除
いやいや  2005-10-27 03:01:52  No: 18274  IP: [192.*.*.*]

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

編集    削除
えーと  2005-10-27 03:13:24  No: 18275  IP: [192.*.*.*]

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

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

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

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

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

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

編集    削除