求助Listwidget 无法显示。

wm356924565 2010-04-29 10:10:45

static boolean CreateMainForm(BUIWTask *pMe)
{
int result = 0;
IWidget *containerWdg = NULL;
WidgetPos wp;
WExtent tsWE;
IWidget *titleWidget;
IWidget *softWidget;
/* IWidget *staticWdg;
IWidget *iWdg;
IWidget *sWdg;
*/
result = ISHELL_CreateInstance(pMe->m_pShell, AEECLSID_FORM, (void **)&(pMe->m_pMainForm));
result += ISHELL_CreateInstance(pMe->m_pShell, AEECLSID_XYCONTAINER, (void **)&pMe->m_pXYContainer);
result += ISHELL_CreateInstance(pMe->m_pShell, AEECLSID_STATICWIDGET, (void **)&containerWdg);
result += ISHELL_CreateInstance(pMe->m_pShell,AEECLSID_LISTWIDGET,(void**)&pMe->m_pListWidget);

if(result != 0)
{
return EFAILED;
}


IFORM_GetTitleWidget((IForm*)pMe->m_pRootForm, &titleWidget);
IWIDGET_GetPreferredExtent(titleWidget,&tsWE);
tsWE.height = 30;
tsWE.width = pMe->DeviceInfo.cxScreen;
IWIDGET_SetExtent(titleWidget,&tsWE);
IWIDGET_SetFlags(titleWidget,IDF_ALIGN_MIDDLE|IDF_ALIGN_CENTER);
IWIDGET_SetBGColor(titleWidget,MAKE_RGB(15,118,209));
IFORM_SetText(pMe->m_pMainForm,FID_TITLE,L"伊索寓言");

IFORM_SetText(pMe->m_pMainForm, FID_SOFTKEY1, L"选项");
IFORM_SetText(pMe->m_pMainForm, FID_SOFTKEY2, L"返回");
/*IFORM_SetResText(pMe->m_pMainForm,FID_TITLE,BUIWTASK_RES_FILE,IDS_TITLE);
IFORM_SetSoftkeys(pMe->m_pMainForm,BUIWTASK_RES_FILE,IDS_SOFTKEY1,IDS_SOFTKEY2);*/
IFORM_GetSoftkeyWidget((IForm*)pMe->m_pRootForm,&softWidget);
IWIDGET_SetBGColor(softWidget,MAKE_RGB(15,118,209));
IWIDGET_SetExtent(softWidget,&tsWE);

HANDLERDESC_Init(&pMe->m_nHandlerDesc,mainFormHandleEvent,pMe,mainformFree);
IFORM_SetHandler(pMe->m_pMainForm,&pMe->m_nHandlerDesc);

IWIDGET_SetItemWidth(pMe->m_pListWidget, pMe->DeviceInfo.cxScreen - 16);
IWIDGET_SetItemHeight(pMe->m_pListWidget,30);
IWIDGET_SetTopIndex(pMe->m_pListWidget, 1);
IWIDGET_SetFocusIndex(pMe->m_pListWidget, 1);
IWIDGET_SetHintRows(pMe->m_pListWidget, 5);
IWIDGET_SetBGColor(pMe->m_pListWidget,MAKE_RGB(255, 0, 0));

ISHELL_CreateInstance(pMe->m_pShell,AEECLSID_SCROLLBARWIDGET,(void**)&pMe->m_pScrollWidget);
IWIDGET_SetProperty(pMe->m_pScrollWidget,PROP_SCROLLPAD,0);
IWIDGET_SetProperty(pMe->m_pScrollWidget,PROP_SCROLLHANDLEWIDTH,10);
IWIDGET_SetProperty(pMe->m_pScrollWidget,PROP_FLAGS, SBWF_ARROWS);
IWIDGET_SetProperty(pMe->m_pScrollWidget, PROP_SCROLLBARENDPAD, 7);
IWIDGET_SetProperty(pMe->m_pScrollWidget, PROP_ACTIVE_SCROLLCOLOR, MAKE_RGB(100, 200, 0));
IWIDGET_SetProperty(pMe->m_pScrollWidget, PROP_ACTIVE_SCROLLHANDLECOLOR, MAKE_RGB(256, 90, 90));
IWIDGET_SetProperty(pMe->m_pScrollWidget, PROP_SCROLLFILLCOLOR, MAKE_RGB(200, 100, 0));
IDECORATOR_SetWidget((IDecorator*)pMe->m_pScrollWidget, pMe->m_pListWidget);

wp.x = 10;
wp.y = 10;
wp.bVisible = TRUE;
result = IXYCONTAINER_Insert(pMe->m_pXYContainer, pMe->m_pListWidget, WIDGET_ZNORMAL, &wp);
// result = IXYCONTAINER_Insert(pMe->m_pXYContainer, pMe->m_pScrollWidget, WIDGET_ZNORMAL, &wp);

result = IXYCONTAINER_QueryInterface(pMe->m_pXYContainer, AEEIID_WIDGET, (void**)&pMe->m_pWidget);
result += IFORM_SetWidget(pMe->m_pMainForm, WID_FORM, pMe->m_pWidget);
if(result != 0)
return EFAILED;

IWIDGET_Release(containerWdg);


return SUCCESS;
}


list里面还没有内容,是不是list的背景色也看不见?
...全文
1758 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui22021616 2010-08-22
  • 打赏
  • 举报
回复
你有设置listwidget和scrollbar的extent吗?还有,插入到container的时候,应该是插pMe->m_pScrollWidget才对
jluzhuge 2010-08-12
  • 打赏
  • 举报
回复
IDECORATOR_SetWidget((IDecorator*)pMe->m_pScrollWidget, pMe->m_pListWidget);

这里应该有问题,应该加一句
pMe->m_pListWidget = pMe->m_pScrollWidget; 你看一下装饰工厂

wp.x = 10;
wp.y = 10;
wp.bVisible = TRUE;
result = IXYCONTAINER_Insert(pMe->m_pXYContainer, pMe->m_pListWidget, WIDGET_ZNORMAL, &wp);

xcj_ysu 2010-05-22
  • 打赏
  • 举报
回复
我也不会用,帮你顶吧
wm356924565 2010-05-04
  • 打赏
  • 举报
回复
自己顶

2,853

社区成员

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

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