ページ 11

Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Posted: 2016年10月27日(木) 14:35
by のーなめ
件名の通りなのですが、win32apiでエディットボックスを表示しました。
そのエディットボックスにプログラム側から、文字列を送信したいです。
ヒントだけでも良いので教えて欲しいです。宜しくお願いします。

Re: Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Posted: 2016年10月27日(木) 15:18
by あんどーなつ
猫でもわかるプログラミング Windows SDK編 第15章が参考になるかと思います。

http://www.kumei.ne.jp/c_lang/sdk/sdk_15.htm

私は書籍のほうしかやったことがないので、詰まったら教えてください。

Re: Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Posted: 2016年10月27日(木) 16:01
by YuO
Edit Control Text Operations (Windows) - Setting and Retrieving Text
An application can set the text of an edit control by using the SetWindowText function, the SetDlgItemText function, or by sending the control a WM_SETTEXT message.
MSDNに書いてあるとおり,
  • SetWindowText APIを使う
    →同一プロセス内の対象のエディットコントロールのハンドルがわかっている場合
  • SetDlgItemText APIを使う
    →対象のエディットコントロールの親であるダイアログのハンドルと,エディットコントロールのIDがわかっている場合
  • WM_SETTEXTメッセージをコントロールに送る
    →対象のエディットコントロールのハンドルがわかっている場合
となります。

Re: Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Posted: 2016年10月27日(木) 23:18
by のーなめ

コード:

SendMessage(hWnd, WM_SETTEXT, 0 (LPARAM)TEXT("test"));
とする事でうまくいきました。有難うございます。

Re: Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Posted: 2016年10月28日(金) 10:18
by あんどーなつ
解決したら、解決ボタンをクリックです。