ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NC Designer2实现ComboBox下拉列表功能

2022-07-06 16:36:33  阅读:166  来源: 互联网

标签:End GTextBox00000 ComboBox GList00001 NC lMainKey str && Designer2


原始的NC Designer2没有ComboBox控件,通过TextBox与ListBox组合实现该功能

        实现原理:当ListBox控件创建时,TextBox显示ListBox的第0行的内容,当光标移动到TextBox时,ListBox设置为可访问状态,此时通过方向键选择选项,按下INPUT后把当前ListBox的内容设置到TextBox内,否则不可访问。

  • GList00001要晚于GTextBox00000创建。
    $GList00001-OnCreate
    string str ;
    GCSListAddString(-1,"GList00001","G05P1");
    GCSListAddString(-1,"GList00001","G05P2");
    GCSListAddString(-1,"GList00001","G05P10000");
    GCSListAddString(-1,"GList00001","G05P20000");
    GCSListGetListString(-1,"GList00001",0,str);
    GCSTextboxSetString(-1,"GTextBox00000",str);
    $End
  • 光标在GTextBox00000时
    $GTextBox00000-OnSetFocus
    GCSSetVisibleStatus(-1,"GList00001",1);//GList00001隐藏
    $End
  • 执行选择
    $GTextBox00064-OnKeyPress
    long _lShiftKey;
    long _lCtrlKey;
    long _lMainKey;
    _lShiftKey = LUPARAM & H1;
    _lCtrlKey = LUPARAM & H2;
    _lMainKey = LLPARAM;
    if((0 == _lCtrlKey) && (0 == _lShiftKey) && (38 == _lMainKey))
    @3 = GCSListGetCurrentSelect(-1,"GList00001");
    @4 = @3-1;
    GCSListSetCurrentSelect(-1,"GList00001",@4);
    elseif((0 == _lCtrlKey) && (0 == _lShiftKey) && (40 == _lMainKey))
    @3 = GCSListGetCurrentSelect(-1,"GList00001");
    @4 = @3+1;
    GCSListSetCurrentSelect(-1,"GList00001",@4);
    elseif((0 == _lCtrlKey) && (0 == _lShiftKey) && (13 == _lMainKey))
    GCSSetVisibleStatus(-1,"GList00001",0);
    endif;
    $End
  • 更新数据
    $GTextBox00000-OnTimer
    string str;
    GCSListGetListString(-1,"GList00001",@4,str);
    GCSTextboxSetString(-1,"GTextBox00000",str);
    $End
  • 光标离开TextBox时
    $GTextBox00000-OnKillFocus
    GCSSetVisibleStatus(-1,"GList00001",0);
    $End

标签:End,GTextBox00000,ComboBox,GList00001,NC,lMainKey,str,&&,Designer2
来源: https://www.cnblogs.com/Av1688/p/16446911.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有