MFC で、CSpinButtonCtrl
とアタッチされたバディ ( CEdit
) を含むダイアログがあります。スピン コントロールの最大値が 1000 よりも小さい場合は正しく機能しますが、それよりも大きい場合CEdit
、値が 1000 以上の場合、値は 1000 単位に固定されます (4345 ではなく 4 に固定されます)。例えば)。
BEGIN
EDITTEXT IDC_EDIT_1,274,42,40,14,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SPIN_1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,313,42,11,14
END
範囲はプログラムで設定されます。
const int max_value = 5000;
auto spin = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_1);
spin->SetRange(1, max_value);
何が起こっているのか分かりますか?