×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

我的程序

我的程序里,list 控件就处理一个事件,就是 popSelectEvent.
我不知道怎么会要点两下,不过有几点是我以前弄list 和 popuptrigger 头比较的的事:

1.Switch case 里break 放错了地方.
大量的事件用swaitch,在家有几个list 的话,就等着晕吧:P

2. popuptrigger 有一个ListID 属性.弄错了?

最简单的code 是这样的:
switch (event->eType) {
case popSelectEvent:
switch (event->data.popSelect.listID)
{
case YourListId1:
Your Code;
break;
case YourListId2:
Your Code;
break;
}
break;
case other event:
....
break;
}
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / help:熟悉PALM 开发DX 进来看一下.
    在我的项目里,使用到POPUP LIST.用户选择下拉的箭头,弹出LIST ,然后从LIST 选择某项内容,那么该内容就会显示在屏幕上,同时消失LIST .
    正常的情况下.在LIST 出现的时候,只要点击一下LIST某一项,那么LIST 马上就会消失,同时把选择的内容显示在屏幕上. 现在我遇到了个问题是,当LIST 出现了,我要点两下,LIST 才会消失.

    另外我的LIST 和 Popup trigger 是动态创建的,也就是如下的代码.
    CtlNewControl ((void**)&frmP,StrAToI(Current_QUE_ID)*10+i,popupTriggerCtl,Answer_Value,5,y,150,FntLineHeight(),stdFont, 0, true);
    LstNewList ((void**)&frmP,StrAToI(Current_QUE_ID)*10+5+i,5,y,150,80,stdFont,0,StrAToI(Current_QUE_ID)*10+i);

    ListP=FrmGetObjectPtr(frmP,FrmGetObjectIndex(frmP,StrAToI(Current_QUE_ID)*10+5+i));

    于是我就尝试着跟踪程序里的出现事件,结果发现第一下点击的时候,在APPEVENTLOOP 里捕获不到该事件,一直要再点击一下,才会出先PENDOWN EVENT ,接着是WINENTER , POPUPSELECT 等等一系列的事件.
    • 我的程序
      我的程序里,list 控件就处理一个事件,就是 popSelectEvent.
      我不知道怎么会要点两下,不过有几点是我以前弄list 和 popuptrigger 头比较的的事:

      1.Switch case 里break 放错了地方.
      大量的事件用swaitch,在家有几个list 的话,就等着晕吧:P

      2. popuptrigger 有一个ListID 属性.弄错了?

      最简单的code 是这样的:
      switch (event->eType) {
      case popSelectEvent:
      switch (event->data.popSelect.listID)
      {
      case YourListId1:
      Your Code;
      break;
      case YourListId2:
      Your Code;
      break;
      }
      break;
      case other event:
      ....
      break;
      }
      • 程序是非常的复杂,急死人了.
        现在发现,当第一次装载动态LIST的时候,点击一次即可,第二次装载的时候要点击两次,第三次装载要点击三次,以此类推.
        在程序里对于动态的LIST 控件所产生的事件,我没有写程序去处理,直接把事件交给系统去处理.
        在每次创建LIST 的控件的时候,先REMOVE窗体上的旧的LIST 动态控件.

        而且很奇怪的是,点击LIST 选项的时候 ,被点击的LIST 项是出现了HIGHLIGHT ,但就是没把这事件往系统送,也就是在事件的主循环AppEventLoop里捕获不到这个事件,要点击若赶次后,才可以.