义务 - 我是新手.有一份涉及编程的工作,我正在自学.不用说作为老师,我经常彻底地弄错了.
我现在在哪里:我已经创建了"Graph"类,它(令人惊讶的是)创建了图形.但现在我想这样做,以便在鼠标点击时我修改图形.但我似乎无法让鼠标处理程序成为该类的成员函数.
cv::setMouseCallback(windowName, onMouse, 0); // Set mouse handler to be onMouse
Run Code Online (Sandbox Code Playgroud)
不适用
cv::setMouseCallback(windowName, Graph::onMouse, 0);
Run Code Online (Sandbox Code Playgroud)
它让我缺乏参数错误.根据这个我不能使它成为一个成员函数.按照给出的答案后,它会编译,但我的this指针是无效的.啊.
OnMouse看起来像这样:
void onMouse(int event, int x, int y,int, void*)
{
if (event == CV_EVENT_LBUTTONDOWN)
{
cvMoveWindow("Window", 500, 500); //Just to see if stuff happened
}
return;
}
Run Code Online (Sandbox Code Playgroud)
我不关心移动窗口,我想修改图形本身 - 它在Graph对象中存储为cv :: Mat变量.我无法弄清楚如何做到这一点.
任何帮助将不胜感激,我真的希望这不仅仅是胡言乱语.
好的,所以我承认我不了解Windows API甚至MFC.
当事情变得毛茸茸(文件名字符串中的非法字符)时,我会弹出一个错误窗口,我希望错误框是模态的.
对于我的生活,我无法弄清楚它为什么在击中doModal时崩溃.
这是我认为可以修复的代码.此代码位于主窗口中按钮的事件处理程序中.
CDialog *BadFileD = new CDialog();
BadFileD->Create(IDD_STATUS, this);
BadFileD->DoModal();
Run Code Online (Sandbox Code Playgroud)
我只是处于临界状态吗?
所以这可能是非常基本的,但是当你找到一份你不完全胜任的工作时就会发生这种情况,对吗?
我有一个 MFC 项目,一切都运行良好,但我正在尝试将 string 和 stringstream 指令添加到项目中。
无论我放在哪里#include <string>,#include <sstream>我都会收到“字符串:未声明的标识符”错误。
提前致谢?:D