iCAx开思网

标题: 如何访问UISTYLER下拉列表框??? [打印本页]

作者: BT2046    时间: 2008-5-21 08:52
标题: 如何访问UISTYLER下拉列表框???
我想根据下拉列表框的选择,来确定导入的模板,不知道如何做,请大侠指点!!!
作者: robert204    时间: 2008-5-21 09:36
标题: 回复 1楼 BT2046 的帖子
问控件的选择编号或内容
作者: BT2046    时间: 2008-5-21 14:29
标题: 回复 2楼 robert204 的帖子
可不可以说得具体点,最好有代码和例子,谢谢了。
作者: CUI821228    时间: 2010-7-8 13:21
UF_STYLER_item_value_type_t d[1];//声明
d[0].item_attr=UF_STYLER_VALUE;//设置取值
d[0].item_id=GC_OPTION_TOGGLE_0;//设置控件ID(在.h里找)
UF_STYLER_ask_value(dialog_id,&d[0]);//获得你的下拉列表的list(就是0、1、5....)
可以通过switch(){
case 0:
break;
case 1:
break;
}
来确定你选的是那个内容。
问题解决了要回复哦!!!
作者: jimtoo    时间: 2010-7-29 09:16
switch里面要输入什么
作者: CUI821228    时间: 2010-8-23 15:29
switch(){ 5# jimtoo

switch(d[0].value.integer)
作者: HCJ2008    时间: 2010-8-29 08:06
4楼的说得很好
作者: XUSIR98    时间: 2010-8-29 11:51
class CStyler  
{
public:
CStyler();
virtual ~CStyler();
//单选
bool GetToggle(int dialog_id,const char *item_id,int *nValue);
bool SetToggle(int dialog_id,const char *item_id,int nValue);
//整数
bool GetInt(int dialog_id,const char *item_id,int *nValue);
bool SetInt(int dialog_id,const char *item_id,int nValue);
//多选菜单
bool GetOptionMenuStr(int dialog_id,const char *item_id,
        char szGetMenuText[]);
bool GetOptionMenuInt(int dialog_id,const char *item_id,
        int *nSelect);
bool SetOptionMenuStr(int dialog_id,const char *item_id,
        char **pSetMenuText,int nCount);
bool SetOptionMenuInt(int dialog_id,const char *item_id,
        int nSelect);
//多行文本框
bool GetMoreText(int dialog_id,const char *item_id,
      char **pText);

bool SetMoreText(int dialog_id,const char *item_id,
      char **pText,int nLineCount);
//单选文本表格
bool SetOneListStr(int dialog_id,const char *item_id,
        char **pText,int nLineCount);
bool GetOneListSelect(int dialog_id,const char *item_id,
           int *pSelect);
//多选文本表格
bool SetMoreListStr(int dialog_id,const char *item_id,
         char **pText,int nLineCount);
bool GetMoreListSelect(int dialog_id,const char *item_id,
            int nSelect[],int *pSelectCount);
};

本帖最后由 XUSIR98 于 2010-8-29 21:04 编辑
作者: XUSIR98    时间: 2010-8-29 11:51
CStyler::CStyler()
{
}
CStyler::~CStyler()
{
}

bool CStyler::GetToggle(int dialog_id,const char *item_id,int *nValue)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
*nValue = Value.value.integer;
UF_STYLER_free_value(&Value);
return true;
}
bool CStyler::SetToggle(int dialog_id,const char *item_id,int nValue)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.value.integer = nValue;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::GetInt(int dialog_id,const char *item_id,int *nValue)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
*nValue = Value.value.integer;
UF_STYLER_free_value(&Value);
return true;
}
bool CStyler::SetInt(int dialog_id,const char *item_id,int nValue)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.value.integer = nValue;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::GetOptionMenuStr(int dialog_id,const char *item_id,
          char szGetMenuText[])
      
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
int nSelect = Value.value.integer;
Value.item_attr = UF_STYLER_SUBITEM_VALUES;
UF_STYLER_ask_value(dialog_id,&Value);
strcpy(szGetMenuText,Value.value.strings[nSelect]);
UF_STYLER_free_value(&Value);
return true;
}
bool CStyler::GetOptionMenuInt(int dialog_id,const char *item_id,
          int *nSelect)
         
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
*nSelect = Value.value.integer;

return true;
}
bool CStyler::SetOptionMenuStr(int dialog_id,const char *item_id,
          char **pSetMenuText,int nCount)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_SUBITEM_VALUES;
Value.count = nCount;
Value.value.strings = pSetMenuText;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::SetOptionMenuInt(int dialog_id,const char *item_id,
             int nSelect)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.subitem_index = nSelect;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::GetMoreText(int dialog_id,const char *item_id,
        char **pText)
{
UF_STYLER_item_value_type_t Value;
Value.item_id = item_id;
Value.item_attr = UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
int i = 0;
for (i=0; i<Value.count; i++)
{
  strcpy(pText,Value.value.strings);
}
UF_STYLER_free_value(&Value);

return true;
}
bool CStyler::SetMoreText(int dialog_id,const char *item_id,
        char **pText,int nLineCount)
{
UF_STYLER_item_value_type_t Value;
Value.item_id = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.value.strings = pText;
Value.count = nLineCount;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}

bool CStyler::SetOneListStr(int dialog_id,const char *item_id,
       char **pText,int nLineCount)
{
UF_STYLER_item_value_type_t Value;
Value.item_id = item_id;
Value.item_attr = UF_STYLER_SUBITEM_VALUES;
Value.value.strings = pText;
Value.count = nLineCount;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::GetOneListSelect(int dialog_id,const char *item_id,
          int *pSelect)
{
UF_STYLER_item_value_type_t Value;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.indicator = UF_STYLER_INTEGER_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
*pSelect = Value.value.integer;
return Value.count?true:false;
}
bool CStyler::SetMoreListStr(int dialog_id,const char *item_id,
        char **pText,int nLineCount)
{
UF_STYLER_item_value_type_t Value;
Value.item_id = item_id;
Value.item_attr = UF_STYLER_SUBITEM_VALUES;
Value.value.strings = pText;
Value.count = nLineCount;
UF_STYLER_set_value(dialog_id,&Value);
return true;
}
bool CStyler::GetMoreListSelect(int dialog_id,const char *item_id,
        int nSelect[],int *pSelectCount)
{
UF_STYLER_item_value_type_t Value;
int nCount = 0;
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_SUBITEM_VALUES;
UF_STYLER_ask_value(dialog_id,&Value);
nCount = Value.count;
UF_STYLER_free_value(&Value);
Value.item_id   = item_id;
Value.item_attr = UF_STYLER_VALUE;
Value.indicator = UF_STYLER_INTEGER_PTR_VALUE;
UF_STYLER_ask_value(dialog_id,&Value);
*pSelectCount = Value.count;
if (0 == *pSelectCount)
{
  UF_STYLER_free_value (&Value);
  return false;
}
int i=0;
for (i=0; i<nCount; i++)
{
  nSelect = false;
}
for (i=0; i<*pSelectCount; i++)
{
  nSelect[Value.value.integers] = true;
}

UF_STYLER_free_value (&Value);
return true;
}

本帖最后由 XUSIR98 于 2010-8-29 21:05 编辑
作者: XUSIR98    时间: 2010-8-29 11:52
我写的一个封装类,还不全,希望能帮助你
其实说实话,要实现个性化的东西还是要用高级一点的语言,UG自己带的那个对话框工具,总觉的用起来有点别扭,说不出来的感觉

本帖最后由 XUSIR98 于 2010-8-29 11:54 编辑
作者: jieking3686    时间: 2010-12-21 11:35
10# XUSIR98


学习了。还想请教您问题,可以加我QQ吗,372013474,非常感谢!




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3