小数点数値しか入力できないEDITBOXで?

[戻る]
kawamura kozo [E-Mail] 2007/07/14(土) 21:59:31
MFC ドキュメントビュー アーキテクチャの初心者です。
小数点数値しか入力できないEDITBOXをダイアログに貼付けて使いたいのですが
operator= の対処方法がわかりません。どなたか、よろしくお願い致します。
// FloatEdit.h
class CFloatEdit : public CEdit
{
public:
    CFloatEdit();
    operator float();
    virtual ~CFloatEdit();
protected:
   //{{AFX_MSG(CFloatEdit)
       afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
   //}}AFX_MSG
}

// FloatEdit.cpp
   BEGIN_MESSAGE_MAP(CFloatEdit, CEdit)
   //{{AFX_MSG_MAP(CFloatEdit)
       ON_WM_CHAR()
   //}}AFX_MSG_MAP
   END_MESSAGE_MAP()
  void CFloatEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
  {
     static CString separators(_T("."));
     TCHAR tChar = (TCHAR) nChar;
     if ((IsCharAlphaNumeric(tChar) && !IsCharAlpha(tChar)) || 
    separators.Find(nChar) != -1)
    {
      CEdit::OnChar(nChar, nRepCnt, nFlags);
    }
      else
    MessageBeep(MB_ICONASTERISK);
  }
  CFloatEdit::operator float()
  {
      double dReturn; 
      CString number;
      LPTSTR endpointer;
      GetWindowText(number);
      dReturn = strtod((LPCTSTR) number, &endpointer);
      return (float) dReturn;
  }
  CFloatEdit::operator= ?
  {
    ?対処不明
  }

// MyDlg.h : ヘッダー ファイル
#include "FloatEdit.h"
   ----------------
   ----------------
 public:
  // ダイアログ データ
    //{{AFX_DATA(CMyDlg)
    enum { IDD = IDD_MYDLG };
         ------------------
    CFloatEdit m_nBox1;
         ------------------
// MyDlg.cpp : インプリメンテーション ファイル
   ----------------
  void CMyDlg::DoDataExchange(CDataExchange* pDX)
  {
         ----------------
    DDX_Control(pDX, IDC_BOX1, m_nBox1);
         ----------------
  }

// ***Doc.h :
class ***Doc : public CDocument
{
   ----------------
   CString m_Box1;
   ----------------
}

// ***View.cpp :
void ***View::OnMyBox() 
{
   CMyDlg dlg;
   ----------------
   dlg.m_nMyBox1 = **Doc.m_Box1;
   ----------------
  当然ここの = で止まってしまいます。

TT414 2007/07/16(月) 13:30:22
マルチポスト

http://forums.belution.com/ja/vc/000/407/78s.shtml

RAPT [HomePage] 2007/07/16(月) 15:44:27
あっちにレスつけときましたorz

kawamura kozo [E-Mail] 2007/07/25(水) 09:30:02
[[解決]]
マルチポストしてしまいまして、
ごめんなさい。

古いスレッドには追加発言できません。