WM_CLEARなど使えないメッセージがある。
外部ソフトからハンドルを取得して EditBox を操作しようとしています。
PostMessage/SendMessage で該当 EditBox にメッセージを送るのですが
WM_PASTE, WM_CHAR などは期待通りの動きをするのですが
WM_CLEAR, WM_SETTEXT など無反応です。
PostMessage( hwnd, WM_PASTE, 0, 0 ); // Operated
PostMessage( hwnd, WM_CHAR, (int)msg[i], 0 ); // Operated
PostMessage( hwnd, WM_CLEAR, 0, 0 ); // Not Operated
PostMessage( hwnd, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)"ABC" ); // Not Operated
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
御礼頂きました。一応以下を「メモ帳のクライアント(エディットボックス)」と「MFCダイアログ上のエディットボックス」(両方とも外部プロセス)に向かって実行して出来たのですが、これでは無理でしょうか。
//テキストを全て選択
::SendMessage(hEdit, EM_SETSEL, 0, -1);
::SendMessage(hEdit, WM_CLEAR, 0, 0);
ただ、他のウィンドウから操作しているので、
::SetForegroundWindow(hEdit);
を適切なタイミングで入れないと、テキスト選択範囲の表示が反映されなかったりするようです。
ありがとうございます。
An application sends a WM_CLEAR message to an edit control or combo box to delete (clear) the current selection, if any, from the edit control.
この current selection という部分がキーだったんですね。
入力フィールドをマーキングして WM_CLEAR を送ったらマーキング部分のみ消されました。
もちろんご指導いただいた
::SendMessage(hEdit, EM_SETSEL, 0, -1);
ですべてマーキング作業を加えると、手作業同様消えました。
Ooops^^;
本当にありがとうございました。
No.1
- 回答日時:
こんにちは。
WM_CLEARは送った事がないのですが、WM_SETTEXTに関しては、SendMessage()APIでなければいけません。
恐らくWM_CLEARも同じかと。
http://yokohama.cool.ne.jp/chokuto/urawaza/messa …
ありがとうございます。
質問に書いてある通り、WM_CLEAR は SendMessage でもダメなんです。
WM_SETTEXT は SendMessage でのテストを忘れてました。
WM_SETTEXT は SendMessage でOKになりました。
WM_SETTEXT で NULL を書けば同じなので回避できますが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- 発達障害・ダウン症・自閉症 数ヶ月前、ASD/ADHDの検査と共に、IQテストのようなものも受けたのですが、見方がよく分からない 2 2022/08/08 11:20
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- Visual Basic(VBA) Activesheet.Pasteで困っています 1 2023/01/22 07:41
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- ボードゲーム にゃんこ大戦争 にゃんこ成人について 1 2023/01/19 07:23
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- 英語 In adults, the ratio is about two to three times a 1 2023/01/17 17:39
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他のウィンドウのボタンを自動...
-
vbaから他のアプリを終了
-
VBA 複数セルが空白なら印刷さ...
-
デスクトップ上のアイコンの位...
-
SendMessage で ESC など
-
システム例外のメッセージを変...
-
点滅で知らせる方法
-
16進数入力制限方法
-
ElseIfの使い方。
-
マウスの状態の取得
-
マウスの右クリック+Shiftキー...
-
ウィンドウプロシージャの書き...
-
キーボード・フックのアプリを...
-
SetWindowText関数について
-
Buffer overrun, data ..
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
Minecraft 統合版(PC)の描画距...
-
「アイテムは収集されました」...
-
コントロールの書式設定で、“コ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaから他のアプリを終了
-
他のウィンドウのボタンを自動...
-
msgboxの表示位置
-
メッセージボックスの選択ボタ...
-
VBAでコントロールのハンドルを...
-
メッセージハンドラ
-
SetWindowText関数について
-
VB.netでFindWindowExやると・...
-
CloseHandle()
-
SendMessage で ESC など
-
VBA 複数セルが空白なら印刷さ...
-
デスクトップ上のアイコンの位...
-
WM_NCLBUTTONUPについて
-
システム例外のメッセージを変...
-
点滅で知らせる方法
-
Excel VBA で外部アプリケーシ...
-
VB6でシャットダウン、ログオフ...
-
ElseIfの使い方。
-
WM_CTLCOLORDLG
-
VB.netでSendMessageを使用して...
おすすめ情報