请高手帮忙改VC程序
我在改别人的程序,其中有一处不会改。在对话框资源中有个inputdialog。inputdialog.h中://CInputDialogdialogclassCInput...
我在改别人的程序,其中有一处不会改。在对话框资源中有个inputdialog。
inputdialog.h中:
// CInputDialog dialog
class CInputDialog : public CDialog
{
// Construction
public:
CInputDialog(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CInputDialog)
……
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CInputDialog)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CInputDialog)
functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
BYTE m_nValueType;
CString m_sCaption;
public:
BOOL ShowInputDialog(CString& sInputValue,BYTE& nPidNum,CString sText="请输入值",CString sNum="请输入新的PID号:",CString sCaption="请输入值");
BOOL ShowInputDialog(double& nInputValue,BYTE& nSP,CString sText="请输入值",CString sNum="请输入新的设置点:",CString sCaption="请输入值");
};
//{{AFX_INSERT_LOCATION}}
#endif // !defined
inputdialog.cpp中:
// InputDialog.cpp : implementation file
//
#include "stdafx.h"
#include "mocvd.h"
#include "InputDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CInputDialog dialog
CInputDialog::CInputDialog(CWnd* pParent /*=NULL*/)
: CDialog(CInputDialog::IDD, pParent)
{
}
void CInputDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInputDialog)
DDX_Text(pDX, IDC_TEXT, m_sText);
DDX_Text(pDX, IDC_NUM, m_sNum);
if (0==m_nValueType) //数字型文本框
{
DDX_Text(pDX, IDC_EDIT_VALUE, m_nValue);
DDX_Text(pDX, IDC_EDIT_NUM, m_nSP);
}
else //字符型文本框
{
DDX_Text(pDX, IDC_EDIT_VALUE, m_sValue);
DDX_Text(pDX, IDC_EDIT_NUM, m_nPidNum);
}
//}}AFX_DATA_MAP
}
BOOL CInputDialog::ShowInputDialog(CString& sInputValue,BYTE& nPidNum,CString sText,CString sNum,CString sCaption)
{
m_nValueType = 1; //字符型文本框
……
if (IDOK == this->DoModal()){
sInputValue = m_sValue;
nPidNum = m_nPidNum;
return TRUE;
}
else
return FALSE;
}
BOOL CInputDialog::ShowInputDialog(double& nInputValue,BYTE& nSP,CString sText,CString sNum,CString sCaption)
{
m_nValueType = 0; //数字型文本框
……
if (IDOK == this->DoModal()){
nInputValue = m_nValue;
nSP = m_nSP;
return TRUE;
}
else
return FALSE;
}
BEGIN_MESSAGE_MAP(CInputDialog, CDialog)
//{{AFX_MSG_MAP(CInputDialog)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
希望实现由m_nValueType=0 或1控制,响应CString sInputValue和double nInputValue的change消息。
急,解决者给200分。联系方式:qq176114049
由于baidu发贴字数要求不能把全部代码发上来。如有人能解决可以加qq。下面有我写的一部分,但是报错,请高手修改:
inputdialog.h里加入:
public:
BOOL EditExchangeV(CString& sInputValue,BYTE& nPidNum);
BOOL EditExchangeP(double& nInputValue,BYTE& nSP);
protected:
virtual void CheckEditExchange(BYTE& m_nValueType,double& nInputValue,BYTE& nSP,CString& sInputValue,BYTE& nPidNum);
inputdialog.cpp里加入:
void CInputDialog::CheckEditExchange(BYTE& m_nValueType,double& nInputValue,BYTE& nSP,CString& sInputValue,BYTE& nPidNum)
{
BEGIN_MESSAGE_MAP(CInputDialog)
//{{AFX_MSG_MAP(CInputDialog)
if (0==m_nValueType) //数字型文本框
{
ON_EN_CHANGE(IDC_EDIT_VALUE, EditExchangeP);
}
else //字符型文本框
{
ON_EN_CHANGE(IDC_EDIT_VALUE, EditExchangeV);
}
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
}
void EditExchangeP(double& nInputValue,BYTE& nSP);
{
AfxMessageBox("SP!");
}
void EditExchangeV(CString& sInputValue,BYTE& nPidNum);
{
AfxMessageBox("SV!");
} 展开
inputdialog.h中:
// CInputDialog dialog
class CInputDialog : public CDialog
{
// Construction
public:
CInputDialog(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CInputDialog)
……
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CInputDialog)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CInputDialog)
functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
BYTE m_nValueType;
CString m_sCaption;
public:
BOOL ShowInputDialog(CString& sInputValue,BYTE& nPidNum,CString sText="请输入值",CString sNum="请输入新的PID号:",CString sCaption="请输入值");
BOOL ShowInputDialog(double& nInputValue,BYTE& nSP,CString sText="请输入值",CString sNum="请输入新的设置点:",CString sCaption="请输入值");
};
//{{AFX_INSERT_LOCATION}}
#endif // !defined
inputdialog.cpp中:
// InputDialog.cpp : implementation file
//
#include "stdafx.h"
#include "mocvd.h"
#include "InputDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CInputDialog dialog
CInputDialog::CInputDialog(CWnd* pParent /*=NULL*/)
: CDialog(CInputDialog::IDD, pParent)
{
}
void CInputDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInputDialog)
DDX_Text(pDX, IDC_TEXT, m_sText);
DDX_Text(pDX, IDC_NUM, m_sNum);
if (0==m_nValueType) //数字型文本框
{
DDX_Text(pDX, IDC_EDIT_VALUE, m_nValue);
DDX_Text(pDX, IDC_EDIT_NUM, m_nSP);
}
else //字符型文本框
{
DDX_Text(pDX, IDC_EDIT_VALUE, m_sValue);
DDX_Text(pDX, IDC_EDIT_NUM, m_nPidNum);
}
//}}AFX_DATA_MAP
}
BOOL CInputDialog::ShowInputDialog(CString& sInputValue,BYTE& nPidNum,CString sText,CString sNum,CString sCaption)
{
m_nValueType = 1; //字符型文本框
……
if (IDOK == this->DoModal()){
sInputValue = m_sValue;
nPidNum = m_nPidNum;
return TRUE;
}
else
return FALSE;
}
BOOL CInputDialog::ShowInputDialog(double& nInputValue,BYTE& nSP,CString sText,CString sNum,CString sCaption)
{
m_nValueType = 0; //数字型文本框
……
if (IDOK == this->DoModal()){
nInputValue = m_nValue;
nSP = m_nSP;
return TRUE;
}
else
return FALSE;
}
BEGIN_MESSAGE_MAP(CInputDialog, CDialog)
//{{AFX_MSG_MAP(CInputDialog)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
希望实现由m_nValueType=0 或1控制,响应CString sInputValue和double nInputValue的change消息。
急,解决者给200分。联系方式:qq176114049
由于baidu发贴字数要求不能把全部代码发上来。如有人能解决可以加qq。下面有我写的一部分,但是报错,请高手修改:
inputdialog.h里加入:
public:
BOOL EditExchangeV(CString& sInputValue,BYTE& nPidNum);
BOOL EditExchangeP(double& nInputValue,BYTE& nSP);
protected:
virtual void CheckEditExchange(BYTE& m_nValueType,double& nInputValue,BYTE& nSP,CString& sInputValue,BYTE& nPidNum);
inputdialog.cpp里加入:
void CInputDialog::CheckEditExchange(BYTE& m_nValueType,double& nInputValue,BYTE& nSP,CString& sInputValue,BYTE& nPidNum)
{
BEGIN_MESSAGE_MAP(CInputDialog)
//{{AFX_MSG_MAP(CInputDialog)
if (0==m_nValueType) //数字型文本框
{
ON_EN_CHANGE(IDC_EDIT_VALUE, EditExchangeP);
}
else //字符型文本框
{
ON_EN_CHANGE(IDC_EDIT_VALUE, EditExchangeV);
}
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
}
void EditExchangeP(double& nInputValue,BYTE& nSP);
{
AfxMessageBox("SP!");
}
void EditExchangeV(CString& sInputValue,BYTE& nPidNum);
{
AfxMessageBox("SV!");
} 展开
4个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
最近VC学习中~~~,VC学会了,那软件可就好玩了~~
不过要学的东西实在太多,顺便问一下这哥们有MSDN系统不?
不过要学的东西实在太多,顺便问一下这哥们有MSDN系统不?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BEGIN_MESSAGE_MAP
可以在自己的函数里面随便乱用?
我对MFC不熟。
可以在自己的函数里面随便乱用?
我对MFC不熟。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好厉害啊,我不会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询