MFC中怎么用代码求当前程序执行的行号

MFC中怎么用代码求当前程序执行的行号,第1张

这个稍微麻烦,因为默认的GetCurSel()获取的是选中位置。

你这个,需要先

int nVertPos = GetDlgItem(IDC_LIST1)->GetScrollPos(SB_VERT);

获取滚动位置,然后获取全部条数,计算当前显示位置,这个位置可能还有误差(因为列表框显示高度也是一个参数)。

反正就是拿滚动位置计算百分比,然后估算出当前显示位置行号

问的太含混了。

分析一下,首先你现在的程序应该是console模式的,出现的是DOS窗口输出,如果希望在text control输出,需要建立MFC基于对话框的工程,然后注意一下几点:

1·对话框建立编辑控件,并允许多行(在资源编辑器中)

2·对编辑控件建立变量(建议CString变量)

3·在需要输出结果的时候,对编辑控件变量赋值(注意多行需要字符串加,并用\n分隔)

4·注意更新界面UpdateDate(True);

所谓模态,是对窗口界面和消息控制的锁定,这时不能对窗口界面进行控制,但不是对程序的挂起。

主窗口类成员变量依然可以变化(但有控件关联的不行),类成员函数可以调用(但涉及消息的,不会执行)

创建的新线程DoPut生命期很短:为listbox添加一行数据,随后就结束了。这就是原因。

如果按照下面修改一下,那么就不会立即结束了。

DWORD Cc2Dlg::DoPut()

{

while(1)

{

    CString amdg=_T("d");

    m_PBUFF1AddString(amdg);

    Sleep(1000);//sleep 1 second

}

return 0;

}

以上就是关于MFC中怎么用代码求当前程序执行的行号全部的内容,包括:MFC中怎么用代码求当前程序执行的行号、请问如何在mfc中点击按钮运行程序,并把运行程序在Text control把程序结果显示出来,结果如下图显示、MFC中模态窗口d出后,原主窗口程序还继续执行么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10623510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存