c - LB_GETCURSEL 的问题

标签 c winapi

我对 lb_getcursel 及其返回的内容有一些疑问(如果它确实返回任何内容)

这是我的消息处理程序...

case IDT_TESTLIST1:
if(HIWORD(wParam) == LBN_DBLCLK) {
    int ret = 0;
    double TimeOut = 60.0;
    int Lng = 1;
    unsigned char Param[255] = {0};
    unsigned char Port1 = port1;

    int iCurSel = SendDlgItemMessage(hwnd,IDT_TESTLIST1,LB_GETCURSEL,0.0);

    ret = PSB30_Open(Port1,16);
    ret = PSB30_SendOrder(Port1,test1[iCurSel].testNumber, &Param[0],&Lng,&TimeOut);
    ret = PSB30_Close(Port1);
}
break;

我正在使用 Visual Studio 2010,每当我运行程序时,iCurSel 看起来甚至都没有分配一个值,默认为 0,当我进入 case 语句时,并非所有变量都在 autos 部分可见,当我向 iCurSel 添加 watch 时,我收到 CXX0017:错误消息。

hwnd 是我主窗口的句柄并且是正确的

任何帮助将不胜感激

干杯

最佳答案

i find it funny that none of my variables in the message are showing anything by hovering over them

那是因为它们不存在。你的程序无法编译,它有一个错误。 SendDlgItemMessage() 有 5 个参数,你传递了 4 个。最后一个因打字错误而变成了浮点值。

显然,您需要注意编译错误消息。并更改设置,以免再次发生这种情况。工具 + 选项、项目和解决方案、构建和运行。将“在运行时,发生构建或部署错误时”设置更改为“不启动”。

关于c - LB_GETCURSEL 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254180/

相关文章:

c - 在 C 中将 double 存储在数组中

c - 在 Erlang C NIF 中分配内存

c++ - 水平/垂直均匀分布网格单元?

c - 使用 native 编译器和交叉编译器生成相同的目标文件

c - 让 gcc 以 "int 0x80"方式编译系统调用?

c - 程序不会在第二次 scanf() 时读取

delphi - 在 Lazarus/Delphi 中修改文件 ACL

delphi - 如何递归超过 255 个字符的路径并读取文件属性?

c++ - WINAPI CreateThread 并不总是运行线程

C++ 访问另一个类的公共(public)成员