下記のようなダイアログボックスを作ったのですが、
デフォルトおよび選択文字も表示されないし、
期待するデフォルト自身もプログラムの中で拾えていません。
まったく、ブランクなのです。
どこをなおせばいいでしょうか?
#define IDC_E1 1000
#define IDC_E2 1002
#define IDC_E3 1004
LPCTSTR combo_Ans1[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
LPCTSTR combo_Ans2[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
LPCTSTR combo_Ans3[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
int L1;
extern HANDLE ghInst;
extern HWND hGWnd;
int gMode;
char gQuestion[128] = Question;
char gQuestion1[128] = Question1;
char gQuestion2[128] = Question2;
char gQuestion3[128] = Question3;
char gAnswer1[128] = 1;
char gAnswer2[128] = 10;
char gAnswer3[128] = 100;
// For 3 ComboBoxes
DIALOG_X DIALOG DISCARDABLE 0, 0, 200, 120
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION ダイアログ
FONT 9, MS Pゴシック
BEGIN
DEFPUSHBUTTON OK,IDOK,150,30,40,12
PUSHBUTTON キャンセル,IDCANCEL,150,50,40,12
LTEXT Edit,IDC_EDIT1,50,30,50,10
LTEXT Edit,IDC_EDIT2,50,60,50,10
COMBOBOX IDC_E1,130,60,50,50,CBS_DROPDOWN | WS_VSCROLL | WS_GROUP
| WS_TABSTOP
LTEXT Edit,IDC_EDIT4,50,80,50,10
COMBOBOX IDC_E2,130,80,50,50,CBS_DROPDOWN | WS_VSCROLL | WS_GROUP
| WS_TABSTOP
LTEXT Edit,IDC_EDIT6,50,100,50,10
COMBOBOX IDC_E3,130,100,50,50,CBS_DROPDOWN | WS_VSCROLL | WS_GROUP
| WS_TABSTOP
END
提示している情報量が少な過ぎてどこを直せばいいのかあなた以外に
誰にも分からないでしょう
>#define IDC_E1 1000
>#define IDC_E2 1002
>#define IDC_E3 1004
がどのソース *.cpp/*.c , *.h に書いてあるのかが不明
>// For 3 ComboBoxes
>
>DIALOG_X DIALOG DISCARDABLE 0, 0, 200, 120
これ以下の部分がリソースの一部なのかどうかも不明
>LPCTSTR combo_Ans1[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
>LPCTSTR combo_Ans2[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
>LPCTSTR combo_Ans3[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
から
>char gAnswer3[128] = 100;
までがどのソース *.cpp/*.c , *.h の一部なのかも不明
コンボボックス IDC_E1 のリスト部にどういう文字列が入れたいのかも不明
更に、開発環境についての記述もない
もう少しあなた以外の他人に答え易い質問の仕方を学んでくださいね
説明不足ですみません。
下記が全部1ソースに入っている感じです。
あえて、リスト部に1とか2とか3とか、マニュアルで入れると
それは表示されて、文字として受け付けもするのですが、
デフォルトでの表示
(この場合は、
1番目の箱に1、
2番目の箱に10、
3番目の箱に100、
を期待しています。)
も、選択文字(この場合は、0.1,0.2,0.3、、、、)
も表示されません。まったくのブランクなのです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#define IDC_E1 1000
#define IDC_E2 1002
#define IDC_E3 1004
LPCTSTR combo_Ans1[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
LPCTSTR combo_Ans2[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
LPCTSTR combo_Ans3[] = {0.1 0.2, 0.3, 0.5, 1, 2, 3, 4, 5};
int L1;
extern HANDLE ghInst;
extern HWND hGWnd;
int gMode;
char gQuestion[128] = Question;
char gQuestion1[128] = Question1;
char gQuestion2[128] = Question2;
char gQuestion3[128] = Question3;
char gAnswer1[128] = 1;
char gAnswer2[128] = 10;
char gAnswer3[128] = 100;
::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::
if (!DialogBox(ghInst, (LPCTSTR)DIALOG_3, hGWnd, DlgProc3))
return FALSE;
::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::
BOOL CALLBACK DlgProc3(HWND hDlg, UINT message, WPARAM wParam,
LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
SetDlgItemText (hDlg, IDC_EDIT1, (LPSTR)gQuestion);
SetDlgItemText (hDlg, IDC_EDIT2, (LPSTR)gQuestion1);
SetDlgItemText (hDlg, IDC_EDIT4, (LPSTR)gQuestion2);
SetDlgItemText (hDlg, IDC_EDIT6, (LPSTR)gQuestion3);
for (L1=0;L1<10;L1++)
{
SendMessage(GetDlgItem(hGWnd, IDC_EDIT3), CB_INSERTSTRING,
(WPARAM)L1, (LPARAM)combo_Ans1[L1]);
SendMessage(GetDlgItem(hGWnd, IDC_EDIT5), CB_INSERTSTRING,
(WPARAM)L1, (LPARAM)combo_Ans2[L1]);
SendMessage(GetDlgItem(hGWnd, IDC_EDIT7), CB_INSERTSTRING,
(WPARAM)L1, (LPARAM)combo_Ans3[L1]);
}
return TRUE;
case WM_COMMAND:
switch (wParam)
{
case IDOK:
GetDlgItemText (hDlg, IDC_EDIT3, (LPSTR)gAnswer1, 16);
GetDlgItemText (hDlg, IDC_EDIT5, (LPSTR)gAnswer2, 16);
GetDlgItemText (hDlg, IDC_EDIT7, (LPSTR)gAnswer3, 16);
EndDialog (hDlg, TRUE);
return TRUE;
case IDCANCEL:
EndDialog (hDlg, FALSE);
return FALSE;
default:
break;
}
}
return FALSE;
}
> for (L1=0;L1<10;L1++)
> {
> SendMessage(GetDlgItem(hGWnd, IDC_EDIT3), CB_INSERTSTRING,
>(WPARAM)L1, (LPARAM)combo_Ans1[L1]);
>....//途中略しています
> }
この部分は何をしたいのですか?IDC_EDIT3 は何ですか?仮にエディットボックス
だとして同じエディットボックスに違う値を10個入れてどう見せたいのでしょうか?
ひょっとしたら IDC_EDIT3 はコンボボックスですか?
コンボボックスだとしても IDC_E1, EDC_E2, EDC_E3 との関係は何ですか?
何故、開発環境について書かないんですか?
>コンボボックスだとしても IDC_E1, EDC_E2, EDC_E3 との関係は何ですか?
はコンボボックスだとしても IDC_E1, IDC_E2, IDC_E3 との関係は何ですか?
の打ち間違いでした
まずは、このページにある「使用上の注意」を読んでいただいて
次に状況をよく整理して説明の順番を良く考えてみましょう。
まず、全体の構成を挙げ、どういう風に動作して欲しいと考えているのかを
説明しましょう。
次に現状どういう動作をしているのかを説明して
まずはどの部分をどうしたいのかを説明します。
説明がバラバラだと全体としては情報が揃っていても
読む側からすれば、よくわからない状況になります。
あと、IDEの操作とかライブラリの関係で開発環境は明示しておかないと
話が噛み合わない事が有りますので必ず提示してください。