編集コントロールをMFC Visual Studio .net 2003を使用してスピンコントロールと共に使用しようとしています。「AutoBuddy」のようにスピンコントロールの基本設定を行っています"プロパティと" SetBuddyInteger "プロパティをTrueに設定すると、Spinコントロールはその隣のエディットコントロールと連携して動作します。私のSpinコントロールのイベントハンドラで、私はInvalidate()関数を呼び出そうとしているときに問題に直面しています。私の編集コントロールの浮動小数点値は更新されず、ゼロのままです。 Invalidate()を削除すると、値は増えますが、私のペイント関数は明らかに更新されません。以下のコードを以下に示します。編集コントロールがスピンコントロールMFCで更新されない
void CMyDlg::OnSpinA(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
// TODO: Add your control notification handler code here
UpdateData();
m_A = m_ASpinCtrl.GetPos(); // m_A is my edit control float value variable
Invalidate(); // Invalidate is to be called to update my paint function to redraw the drawing
UpdateData(false);
*pResult = 0;
}
私は、2つのコントロールのタブ順序を正しく行っています。
どこが間違っているのですか?
ありがとうございます。
はい、私は何かをオーバーライドしていると思います。しかし、それを解決する方法としてはっきりとは分かりません。あなたは私にこれ以上のことを要約できますか? – Emulator
全体のコードスニペットは、spincontrolが使用されたときの通知方法を無効にするメソッドです。 OnSpinAに言及しているメッセージマップの行をコメントアウトしてみてください! – dwo