Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


508 / 13645 ツリー ←次へ | 前へ→

【79978】SendMessageで全角文字を書き込むには 山田 18/6/10(日) 15:06 質問[未読]
【79979】Re:SendMessageで全角文字を書き込むには よろずや 18/6/10(日) 15:34 回答[未読]
【79982】Re:SendMessageで全角文字を書き込むには 山田 18/6/11(月) 21:41 質問[未読]
【79991】Re:SendMessageで全角文字を書き込むには よろずや 18/6/12(火) 13:02 回答[未読]
【79995】Re:SendMessageで全角文字を書き込むには 山田 18/6/13(水) 22:02 質問[未読]
【80001】Re:SendMessageで全角文字を書き込むには よろずや 18/6/15(金) 19:24 発言[未読]

【79978】SendMessageで全角文字を書き込むには
質問  山田  - 18/6/10(日) 15:06 -

引用なし
パスワード
   他のアプリケーションのテキストボックスに全角文字を書き込もうとしています。

SendMessageを使いWM_IME_CHARで半角1文字ずつだと書き込めるのですが、
WM_SET_TEXTだと書き込めません。

SendMessage(hWnd, WM_SETTEXT, 0, "漢字")
だとアプリのタイトルバーが”漢字”になってしまいます。

テキストボックスに全角文字を書き込むにはどうしたらいいでしょうか。

【79979】Re:SendMessageで全角文字を書き込むには
回答  よろずや  - 18/6/10(日) 15:34 -

引用なし
パスワード
   ht tp://d.hatena.ne.jp/maeyan/20091227/1261936878

【79982】Re:SendMessageで全角文字を書き込むには
質問  山田  - 18/6/11(月) 21:41 -

引用なし
パスワード
   FindWindowExでテキストボックスを探そうとしましたがうまくいきません。
クラス名"Edit"では見つかりませんでした。
クラス名がわからないテキストボックスのハンドルを取得するにはどうしたらいいでしょうか。

【79991】Re:SendMessageで全角文字を書き込むには
回答  よろずや  - 18/6/12(火) 13:02 -

引用なし
パスワード
   ▼山田 さん:
>FindWindowExでテキストボックスを探そうとしましたがうまくいきません。
>クラス名"Edit"では見つかりませんでした。
>クラス名がわからないテキストボックスのハンドルを取得するにはどうしたらいいでしょうか。

EnumChildWindows を使って Debug.Print して探しましょう。

【79995】Re:SendMessageで全角文字を書き込むには
質問  山田  - 18/6/13(水) 22:02 -

引用なし
パスワード
   >EnumChildWindows を使って Debug.Print して探しましょう。

EnumChildWindowsにウィンドウのハンドルを渡して探しましたが取得できませんでした。
コールバック関数の中にDebug.Printを入れましたが、一度もコールバック関数が呼び出されていないようです。

【80001】Re:SendMessageで全角文字を書き込むには
発言  よろずや  - 18/6/15(金) 19:24 -

引用なし
パスワード
   ▼山田 さん:
>>EnumChildWindows を使って Debug.Print して探しましょう。
>
>EnumChildWindowsにウィンドウのハンドルを渡して探しましたが取得できませんでした。
>コールバック関数の中にDebug.Printを入れましたが、一度もコールバック関数が呼び出されていないようです。

ウィンドウが無いのかもしれませんね。
(例えば、ACCESSのフォームだとフォーカスの当たったコントロールのみがウィンドウを持ち、フォーカスが当たってないコントロールはウィンドウではない。)

508 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free