MFC ctrls 和重复消息

发布于 2024-10-21 08:52:50 字数 112 浏览 3 评论 0原文

我的窗体中有两个 CListCtrl 对象。我希望两者中的选定列表相同。 我怎样才能做到呢。 我想复制发送到 ClistCtrl 的消息并将其发送到另一个。 我怎样才能做到呢? 如果这是一个好方法? 谢谢赫茨尔

I have two CListCtrl objects in my form. I want selected list in both of them be same.
How I can do it.
I want duplicate the message that sent to a ClistCtrl and send to other one.
How I can do it?
if this is a good way?
thanks herzl

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尹雨沫 2024-10-28 08:52:50

因此,本质上您所说的是您希望列表同步

您可以通过添加一个事件处理程序来捕获列表控件内的用户选择,并将以下内容轻松实现:ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChangedList1) 到您的对话框/窗口的消息映射。
OnItemChangedList1() 内,通过调用 GetFirstSelectedItemPosition() 获取当前所选项目的索引,并通过调用 SetSelectionMark 将其设置为第二个列表中的当前索引()

这样,每当用户单击 List_A 中的第二个项目时,List_B 中的第二个项目也将被选择。

应该有一个函数可以将该行带入视图(如果它尚未出现在视图中),但我找不到它。

我希望说得对,自从我使用 ListView 以来,它们已经发生了很大的变化,但如果有任何不清楚的地方,请随时询问。

So, essentially what you're saying is that you want the lists to be synchronized.

You can easily achieve that by adding an event handler to catch the user's selection inside you list control, by adding: ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChangedList1) to your dialog/window's message-map.
Inside OnItemChangedList1(), get the index of the currently selected item by calling GetFirstSelectedItemPosition(), and set that as the current index in your second list by calling SetSelectionMark().

This way, whenever the user will click on the 2nd item, for example, in List_A, the 2nd item in List_B will be selected as well.

There ought to be a function that brings that row into view, if it's not in view already, but I can't find it.

I hope that raps it up, ListView's have changed a lot since I've used them, but feel free to ask more if anything is unclear.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文