propcontainer

bencharluo 2009-09-29 09:15:04
谁用过propcontainer啊?
有没有这方面的例子啊?
还望能提供以下啊?
...全文
1685 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
FLYUP_CHEN 2009-11-22
  • 打赏
  • 举报
回复
以下是我用propcontainer实现的列表现实:
static int TestListFrom_CreateItem(TestListFrom *pThis)
{
int nErr = SUCCESS;

nErr = ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_IMAGEWIDGET,(void**)&pThis->piwImg);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_STATICWIDGET,(void**)&pThis->piwText);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_PROPCONTAINER,(void**)&pThis->pIPropContainer);

if(nErr == SUCCESS)
{
WidgetProp prop;
WExtent imgwe = {30,30};
WExtent textwe = {50,30};

//image widget
prop.bVisible = TRUE;
prop.prop = WIDGET_KEEP_EXTENT;
IWIDGET_SetExtent(pThis->piwImg,&imgwe);
//IWIDGET_SetBorderWidth(pThis->piwImg,1);
//IWIDGET_SetBorderColor(pThis->piwImg,MAKE_RGB(255,255,255));;
IPROPCONTAINER_Insert(pThis->pIPropContainer,pThis->piwImg, WIDGET_ZNORMAL, &prop);
//text widget
prop.bVisible = TRUE;
prop.prop = 1;
//IWIDGET_SetExtent(pThis->piwText,&textwe);
//IWIDGET_SetBorderWidth(pThis->piwText,1);
// IWIDGET_SetBorderColor(pThis->piwText,MAKE_RGB(255,0,0));
IWIDGET_SetFlags(pThis->piwText,IDF_ALIGN_LEFT|IDF_ALIGN_MIDDLE);
IWIDGET_SetFGColor(pThis->piwText,MAKE_RGB(255,255,255));
IPROPCONTAINER_Insert(pThis->pIPropContainer,pThis->piwText,WIDGET_ZNORMAL,&prop);

IPROPCONTAINER_QueryInterface(pThis->pIPropContainer,AEEIID_WIDGET,(void**)&pThis->piwItem);
IWIDGET_SetLayoutStyle(pThis->piwItem,LAYOUT_HORZ);
}

return nErr;
}
static int TestListFrom_CreateList(TestListFrom *pThis)
{
int nErr = SUCCESS;

nErr = TestListFrom_CreateItem(pThis);
//nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_LISTFORM,(void**)&pThis->pITestListFrom);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_FORM,(void**)&pThis->pITestListFrom);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_VECTORMODEL,(void**)&pThis->pIVectMod);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_VALUEMODEL,(void**)&pThis->pIValueMod);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_LISTWIDGET,(void**)&pThis->piwList);
if(nErr == SUCCESS)
{
IWIDGET_SetItemHeight(pThis->piwList,30);
IWIDGET_SetItemWidth(pThis->piwList,240);
IWIDGET_SetBGColor(pThis->piwList,MAKE_RGB(0,0,0));

IWIDGET_SetModel(pThis->piwItem,(IModel*)pThis->pIValueMod);
IWIDGET_SetIndexer(pThis->piwList,(PFNINDEXER)TestListFrom_ListIndex,pThis);
IMODEL_AddListenerEx((IModel*)pThis->pIValueMod,&pThis->Valuelistener,(PFNLISTENER)TestListFrom_ValueListener,(void*)pThis);


HANDLERDESC_Init(&pThis->widgethd ,TestListFrom_WidgetHandleEvent,pThis,NULL);
IWIDGET_SetHandler(pThis->piwList,&pThis->widgethd);

nErr = IFORM_SetWidget(pThis->pITestListFrom,WID_FORM,pThis->piwList);
IWIDGET_Release(pThis->piwList);

TestListFrom_InitalData(pThis);
IWIDGET_SetModel(pThis->piwList,(IModel*)pThis->pIVectMod);
IDECORATOR_SetWidget((IDecorator*)pThis->piwList,pThis->piwItem);

TestListFrom_FormDes(pThis);
}
IROOTFORM_PushForm(pThis->pIRootForm,pThis->pITestListFrom);
HANDLERDESC_Init(&pThis->Formhd ,TestListFrom_FormHandleEvent,pThis,NULL);
IFORM_SetHandler(pThis->pITestListFrom,&pThis->Formhd);

return nErr;
}



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chenmeimei_8899/archive/2009/01/20/3843585.aspx
FLYUP_CHEN 2009-11-22
  • 打赏
  • 举报
回复
propcontainer效果就是把widget横着排或者竖着排,还有设置widget的现实,widget现实的大小等,看看buiw的api就很清楚了。



bencharluo 2009-11-22
  • 打赏
  • 举报
回复
我说怎么看的这么熟悉,原来在你那里看过了,上次看没怎么看懂,这次看发现好多了,谢谢了啊
FLYUP_CHEN 2009-11-21
  • 打赏
  • 举报
回复
我用过,不知道你遇到了什么问题,可以提出来
bencharluo 2009-11-21
  • 打赏
  • 举报
回复
就是不知道propcontainer实际的效果是怎么样的?
bencharluo 2009-10-10
  • 打赏
  • 举报
回复
啊啊啊啊啊啊,谁能讨论下啊?
bencharluo 2009-10-09
  • 打赏
  • 举报
回复
晕,就是没有示例啊,看来需要自己写一个当示例了,目前在写textmodel相关的。。。
  • 打赏
  • 举报
回复
BUIW的示例中有的啊,如果我没记错的话

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧