by 7 » 2006年2月03日(金) 06:43
> 文字列のほうには、認識(内容の文字)をかくんですか?
そうです。文字列リテラルでも構いませんし、文字列変数でも構いません。
コード: 全て選択
SendMessage(hCombo,CB_ADDSTRING,NULL,"文字列リテラル")
SendMessage(hCombo,CB_ADDSTRING,NULL,pStr)'文字列変数
> いっぱいあるんだけど、どうしたらいいかなー?
どのぐらいの文字数なのか分かりませんが、あまりにも多い文字列はコンボボックスに表示すべきじゃないと思いますよ。
使用目的が分からないので強制はしませんが...。
> このまま、デバックしてみたら、ちゃんとコマンドボックスに入ってなかったし・・・
コンボボックスに文字列を追加するタイミングは正しいですか?
大抵はウィンドウが作られた時にコンボボックスに文字列を追加します。
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim hCombo As HWND
hCombo=GetDlgItem(hMainWnd,ComboBox1)
cb_addString(hCombo,"罪と罰")
'0を選択
SendMessage(hCombo,CB_SETCURSEL,0,NULL)
End Sub
また、コンボボックスの初期の選択位置は-1のようなので、プログラム起動時に0に設定してやると良いかもしれません。
> 文字列のほうには、認識(内容の文字)をかくんですか?
そうです。文字列リテラルでも構いませんし、文字列変数でも構いません。
[code]SendMessage(hCombo,CB_ADDSTRING,NULL,"文字列リテラル")
SendMessage(hCombo,CB_ADDSTRING,NULL,pStr)'文字列変数[/code]
> いっぱいあるんだけど、どうしたらいいかなー?
どのぐらいの文字数なのか分かりませんが、あまりにも多い文字列はコンボボックスに表示すべきじゃないと思いますよ。
使用目的が分からないので強制はしませんが...。
> このまま、デバックしてみたら、ちゃんとコマンドボックスに入ってなかったし・・・
コンボボックスに文字列を追加するタイミングは正しいですか?
大抵はウィンドウが作られた時にコンボボックスに文字列を追加します。
[hide][code]Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim hCombo As HWND
hCombo=GetDlgItem(hMainWnd,ComboBox1)
cb_addString(hCombo,"罪と罰")
'0を選択
SendMessage(hCombo,CB_SETCURSEL,0,NULL)
End Sub[/code][/hide]
また、コンボボックスの初期の選択位置は-1のようなので、プログラム起動時に0に設定してやると良いかもしれません。