硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3051|回复: 4
收起左侧

[emWin] ICONVIEW  的触摸屏响应问题

[复制链接]

3

主题

9

回帖

3

积分

新手上路

积分
3
发表于 2016-10-20 20:19:46 | 显示全部楼层 |阅读模式
请问一下 ,我在使用ICONVIEW控件的时候,父窗口可以接到控件的 WM_NOTIFY_PARENT 消息,但是ICONVIEW_GetSel(hWinICON)的值一直 是 0, 而且图标一直选择的第一个,请问一下这是什么问题啊?感谢
版本: emwin  5.24


case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case Set_ID_ICONVIEW_0: // Notifications sent by 'Iconview'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
         switch( ICONVIEW_GetSel(hWinICON))
         {
                case 0:
                 CreateYiqiWindow();
                 WM_DeleteWindow(hWinSet);
                 break;   
             case 1:
                 CreateLoginWindow();
                 WM_DeleteWindow(hWinSet);
                 break;   
             case 2:
                 CreateQueryWindow();
                 WM_DeleteWindow(hWinSet);
                 break;   
             case 3:
                 CreateLogWindow();
                 WM_DeleteWindow(hWinSet);
                 break;
             case 4:
                 CreateInformationWindow();
                 WM_DeleteWindow(hWinSet);
                 break;
             case 5:
                 //CreateUSBWindow();
                 //WM_DeleteWindow(hWinSet);
                 break;
         }
        break;
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2016-10-21 02:16:03 | 显示全部楼层
将游标显示出来,触控下界面,看看是什么情况。
回复

使用道具 举报

3

主题

9

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2016-10-21 08:42:20 | 显示全部楼层
只要是触碰屏幕,不在ICONVIEW控件的区域,也会给父窗口发送 WM_NOTIFY_PARENT 消息,但就是 ICONVIEW_GetSel(hWinICON)的返回值一直 是 0
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2016-10-22 10:59:20 | 显示全部楼层
将ICONVIEW控件的透明效果去掉,将所有区域显示出来,这样就可以看到ICONVIEW控件的真实大小了。估计你点击的还是在ICONVIEW控件的区域。

最好你的图标所占区域多大,控件就占用多大区域。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-7-15 00:52:22 | 显示全部楼层

回 guohuimao 的帖子

guohuimao:看着专家解答问题好弱智: 我来说一下....
1.WM_NOTIFY_PARENT消息是指你触摸整个iconview区域即产生的,不是指其中某个icon....
2.通常情况,iconview是一个矩形,里面放很多icon, 不会把里面塞满,因此你点空白区, 此时通过ICONVIEW_GetSel(hWinICON)尝试知道是哪个icon按下,你会得到 .. (2017-07-14 20:59)
使用F429系列,或者F7,H7系列,使用ICONVIEW的话,使能三缓冲即可解决这些奇怪的问题。最重要的一点就是动态内存不够。

你说这么多都是废话。这些问题直到后面搞F429综合Demo后,全部解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-15 12:35 , Processed in 0.227452 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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