ON_COMMAND 消息映射宏的替代方法,用于调用带有参数的函数

Alternative for ON_COMMAND message map macro to call a function with a paramenter(s)

我的程序开头有一个消息映射,如下所示:

BEGIN_MESSAGE_MAP(SoftwareDlg, CDialog)
    //{{AFX_MSG_MAP(SoftwareDlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_WM_TIMER()
    ON_WM_DESTROY()
    ...
    ON_COMMAND(ID_TOOLS_UPLOADDATA, UploadData)
    ...
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

这里是 ID_TOOLS_UPLOADDATA 菜单选项在单击时调用的函数:

void UploadData()
{
    string apiEndpoint = "/api/stuff";
    upload_data(apiEndpoint);
}

我的问题是我希望我的 UploadData() 函数能够将 string apiEndpoint 作为参数,这样我就可以从程序中的多个位置调用它进行多个操作(不是就在用户单击菜单按钮时)。像这样:

void UploadData(string apiEndpoint = "/api/stuff")
{
    upload_data(apiEndpoint);
}

我看了一下 ON_COMMAND_EX, but the only usage example I was able to find 似乎不是我要找的东西...有人有什么想法吗?

正如@Iinspectable 所说,你不能。
例如尝试添加一个成员变量并在调用函数之前设置它。