我做MFC作业。
但这会出错。
BEGIN_MESSAGE_MAP(CMFC_Exp01Doc, CDocument)
ON_COMMAND(ID_ARTHMETIC, &CMFC_Exp01Doc::OnArthmetic)
ON_COMMAND(ID_ARITHMETIC, &CMFC_Exp01Doc::OnArithmetic)
END_MESSAGE_MAP()
错误2065,表示声明单词“ ID_ARTHMETIC,ID_ARITHMETIC”
我发现了许多有关MFC ON_COMMAND的网站,但未声明示例)ID_0000
如何声明这个词?
void CMFC_Exp01Doc::OnArthmetic()
{
int i, j;
int temp;
for (i = 0; i<256; i++) {
for (j = 0; j<256; j++) {
temp = m_InImage[i][j] + 40;
if (temp>255)
m_OutImage[i][j] = 255;
else if (temp < 0)
m_OutImage[i][j] = 0;
else
m_OutImage[i][j] = (unsigned char)temp;
}
}
UpdateAllViews(NULL);
}
void CMFC_Exp01Doc::OnArithmetic()
{
int i, j;
int temp;
for (i = 0; i<256; i++) {
for (j = 0; j<256; j++) {
temp = m_InImage[i][j] + 40;
if (temp>255)
m_OutImage[i][j] = 255;
else if (temp < 0)
m_OutImage[i][j] = 0;
else
m_OutImage[i][j] = (unsigned char)temp;
}
}
UpdateAllViews(NULL);
}
最佳答案
这些ID是简单定义的。通常在名为resource.h的文件中定义
当您编辑菜单或工具栏等UI部件时,将创建此ID。工具栏或菜单上的每个命令都有一个单独的ID。命令的ID通常在> 0x8000范围内。
其他有用的问题:因此,当您希望处理命令时,该命令必须由用户给出。在您的情况下应该如何做?您在哪里有此命令的UI?检查您是否已经有一个命令ID,但可能不一样。
关于c++ - 如何声明ON_COMMAND处理程序的ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46601923/