掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カスタムダイアログに配置したコントロールの情報を得るには? (ID:52336)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お返事ありがとうございます。何とかエラーは出なくなったのですが、また問題が生じてしまいました。カスタムダイアログ上のスピンボタンの範囲を1〜8、初期値を8に設定しているのですが、そのポジションを得るためにUDN_DELTAPOSメッセージを使用しています。メッセージ関数内でGetPos()によりスピンボタンが押されるたびにポジションを取得しているのですが、ちゃんとしたポジションが取得できません。スピンボタンに連結したエディットボックスの数値が7なのに、得られるポジションが下ボタンを押した場合は7で、上ボタンを押した場合は4になったりします。なぜでしょうか?以下にコードの一部を記載します。よろしくお願いします。 メインダイアログのコード void CTestDlg::OnSettingButton() { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //******************************ここから追加******************************// if(m_dSettingDlg.DoModal() == IDOK) { switch(m_dSettingDlg.m_CustomSpinPos) { case 0: break; case 1: break; } //******************************ここまで追加******************************// カスタムダイアログクラスのコード // CSettingDlg メッセージ ハンドラ BOOL CSettingDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: この位置に初期化の補足処理を追加してください //******************************ここから追加******************************// m_CustomSpin.SetRange(1,8); m_CustomSpin.SetPos(m_CustomSpinPos); ↑ 初期値は8にしています //******************************ここまで追加******************************// return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります // 例外: OCX プロパティ ページの戻り値は FALSE となります } void CSettingDlg::OnDeltaposCamPowerSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //******************************ここから追加******************************// m_CustomSpinPos = m_CustomSpin.GetPos(); //******************************ここまで追加******************************// *pResult = 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.