Visual C ++ /WindowsAPIで簡単なGUIアプリケーションを作成しています。リソースで次のように定義されたダイアログボックスにトラックバーコントロールがあります。
CONTROL "",IDC_SLIDER1045,"msctls_trackbar32",0x50010000,23,52,141,16,0x00000000
静的テキストコントロールにトラックバーの値を表示したいので、次のように書きました。
case WM_NOTIFY:
if(lParam == TRBN_THUMBPOSCHANGING)
{
Pos1 = SendMessage(GetDlgItem(hwndDlg, 1045), TBM_GETPOS, 0, 0);
wsprintf(szPos1, "Change IP address every %d minutes", Pos1);
SetDlgItemText(hwndDlg, 1044, szPos1);
}
break;
私も試しました:
case WM_NOTIFY:
Pos1 = SendMessage(GetDlgItem(hwndDlg, 1045), TBM_GETPOS, 0, 0);
wsprintf(szPos1, "Change IP address every %d minutes", Pos1);
SetDlgItemText(hwndDlg, 1044, szPos1);
break;
どちらのコードも機能しません。最初はアクションを実行せず、2番目はアプリケーションをハングさせます。
私の質問は、トラックバーの値を取得して、静的テキストコントロールにリアルタイムで表示する方法です。