SOUI官方论坛

 找回密码
 立即注册
查看: 89|回复: 1

关于组合框点击事件

[复制链接]

该用户从未签到

4

主题

16

帖子

115

积分

24:00金丹期

Rank: 2

积分
115
发表于 7 天前 | 显示全部楼层 |阅读模式
本帖最后由 yuanchao 于 2020-9-14 14:23 编辑

简单说一下(手肿了)
遇到一个需求,下拉框左边点击之后不需要弹出列表执行一次点击事件
问题是SOUI本身在dropDown="1"的时候不会执行点击事件,还是弹窗,右边的按钮是画上去的
解决办法:
  1. void SComboBox2::OnLButtonDown(UINT nFlags, CPoint pt)
  2.         {
  3.                 if (m_bDropdown)
  4.                 {
  5.                         CRect rcBtn;
  6.                         GetDropBtnRect(&rcBtn);
  7.                         if (!(rcBtn.left<pt.x && rcBtn.right>pt.x && rcBtn.top<pt.y && rcBtn.bottom>pt.y))//点击不是按钮区域
  8.                         {
  9.                                 SWindow::FireCommand();
  10.                                 return;
  11.                         }
  12.                 }
  13.                 SComboBox::OnLButtonDown(nFlags, pt);
  14.         }
复制代码


就是这么简单,重写左键单击事件,判断一下是不是点的按钮的区域


  • TA的每日心情
    开心
    昨天 09:15
  • 签到天数: 177 天

    [LV.7]常住居民III

    458

    主题

    1074

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    13341
    发表于 5 天前 | 显示全部楼层
    谢谢楼主分享
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛 ( 粤ICP备18103663号-2 )

    GMT+8, 2020-9-21 14:52

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表