ページ 11

コンボボックスの配置方法について

Posted: 2008年9月16日(火) 03:39
by 秋鮭
初めまして。
最近C言語を使い始めた者です。

win32apiを使って複数のテキストファイルを変換(例えば改行を削除する)するアプリケーションを作成したいと思っています。
シンプルに作ろうと思い、選択ボックス(コンボボックス)をダイアログボックスでなく、オーナーウィンドウに直接配置したいのですが、方法が分かりません。
リソースを作って読み込むのかと思うのですが・・・手元の本ではダイアログボックスの説明しかなく困っています。
ヒントや参考ページなどでも結構ですので、よろしくお願い致します。

<<作成環境>>
winxp sp2
visual c++ 2008 express edition
ResEdit.exe ver1.4.3.0
猫でもわかるWindowsプログラミング第3版を読みながら作業しています。

Re:コンボボックスの配置方法について

Posted: 2008年9月17日(水) 11:27
by ibis
サンプルコード付きでわかりやすく解説してるサイトがあります。
それよりもわかりやすく教える自信は無いですし、サイトの紹介だけでご容赦ください。

http://wisdom.sakura.ne.jp/system/winap ... win71.html
CreateWindow関数でコンボボックスを作るやりかたが載ってます。
コンボボックスなどのコントロールの正体はウィンドウなんですよ。
だからそれを作るのにCreateWindow関数(またはCreateWindowEx関数)を使えるわけです。

http://msdn.microsoft.com/en-us/library/ms632679eateWindow関数の解説。)
http://msdn.microsoft.com/ja-jp/library/cc410713.aspxeateWindow関数の解説を和訳したもの。)
http://msdn.microsoft.com/en-us/library/ms633574(VS.85).aspx (英語。ウィンドウクラスの解説。和訳は無い。)
詳しく知りたければこれらも見ると良いでしょう。
ただし閲覧にはアカウントが要るみたいですが。
Win32APIやDirectXなど(他にもいろいろ)を本格的にやるのであれば、
MSDNのアカウントを取得しておくと非常に便利です。

Re:コンボボックスの配置方法について

Posted: 2008年9月17日(水) 13:33
by 秋鮭
ありがとうございます。
よく読んで試してみたいと思います。

Re:コンボボックスの配置方法について

Posted: 2008年9月17日(水) 20:32
by lbfuvab
ダイアログ型アプリケーションにするのもありと思いますが・・・(WinMainではDialogBoxを呼ぶだけで済みますし)