gpt4 book ai didi

c++ - Visual C++6.0中CEdit的消息

转载 作者:行者123 更新时间:2023-11-28 07:33:27 30 4
gpt4 key购买 nike

我有一个 CDialog 包含许多 CEdit 对象。它们在kill focus时都要做类似的操作(例如:当focus被killed时,编辑框文本的改变)。

我可以这样定义对话框的消息映射:

ON_EN_KILLFOCUS(ID1, kf1)
ON_EN_KILLFOCUS(ID2, kf2)
ON_EN_KILLFOCUS(ID3, kf3)
ON_EN_KILLFOCUS(ID4, kf4)

所有kf函数都会调用一个公共(public)函数:

CommonFunction(CEdit* editBox)

但是有没有办法在kf函数本身传递编辑框呢?我的意思是这样定义它:

ON_EN_KILLFOCUS(ID1, kf(ID1))
ON_EN_KILLFOCUS(ID2, kf(ID2))
ON_EN_KILLFOCUS(ID3, kf(ID3))
ON_EN_KILLFOCUS(ID4, kf(ID4))

或其他方式。

注意:我使用的是 Visual C++ 6.0(98 版)

最佳答案

您可以在消息映射中使用 ON_CONTROL_RANGE 将所有消息分派(dispatch)给同一个函数。为此,必须确保 ID 处于连续范围内。 (必要时编辑 resource.h。)

ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO_DRAWALL, IDC_RADIO_DRAWBEST, OnRadioBtnDraw)

void CVisualPPView::OnRadioBtnDraw(UINT nID)
{
}

关于c++ - Visual C++6.0中CEdit的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206564/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com