使用したいのはデフォルトタイプのComboBoxです
'comboにデーターを読み込む
'comboの指定行を選択状態にする
'何行目が選択されているかを取得
など基本的な部分はパワーユーザーなどのホームページを参考に何とか動く様になりました。リスト部分のある行をクリックすると、エディットボックス部分に全選択状態で入りますが、うまく動かないところは、エディットボックス部分の編集時で
1.初期化時に入力した文字列を一部削除するとエディットボックスが見た目空になってしまい続けて入力ができません。編集は正しく行なわれておりリスト部には正しく表示されます。リストの該当行を再度クリックするとまた全選択で表示はされます。
2.初期化時に入力した文字列に追加挿入しようとすると1文字は入るが2文字目に「未知の文字列が解放されようとしました。」となってしまいます。
3.コントロールの幅以上には編集の入力ができないのは仕様でしょうか?
'ComboBox1の変更を取り出しグローバル変数にセット
Dim str[256] As Byte
Dim length As Long
SetWord(str, 256)
'選択番目の文字列を取得
length=SendMessage(GetDlgItem(hMainWnd,ComboBox1),CB_GETLBTEXT,Nangyoume,str)
str[length]=NULL
'題名をグローバル変数にセット
GetWindowText(GetDlgItem(hMainWnd,ComboBox1),str,255)
s_ToName[Nangyoume]=MakeStr(str)
SetCombo()
'編集している行を選択状態にする
SendMessage(GetDlgItem(hMainWnd,ComboBox1),CB_SETCURSEL,Nangyoume,0)
End Sub