求解BUIW的FORM

dx5204 2010-08-04 10:54:14
请问BUIW中的Form里的title和shoftkey的大小能改变吗。我试了IWIDGET_SetExtent(),不行,不知是真不行还是代码不对,小弟急求解,谢谢~~另外,试了一下其他好多参数都可以改的。
部分代码:
{
IPropContainer *pPropContainer;
IWidget *pLeftSoftKey = NULL, *pRightSoftKey = NULL;
IWidget *pSoftKeyWidget;
WidgetExtent widgetextent;
widgetextent.height = 30;
widgetextent.width = 60;
IFORM_GetWidget((IForm *)pMe->pIRootForm, WID_SOFTKEYS, (IWidget **)&pSoftKeyWidget);
IWIDGET_QueryInterface(pSoftKeyWidget, AEEIID_PROPCONTAINER, (void **)&pPropContainer);
pRightSoftKey = IPROPCONTAINER_GetWidget(pPropContainer, pRightSoftKey, FALSE, FALSE);
pLeftSoftKey = IPROPCONTAINER_GetWidget(pPropContainer, pRightSoftKey, FALSE, FALSE);
IWIDGET_SetBorderWidth(pLeftSoftKey, 1);
IWIDGET_SetBorderWidth(pRightSoftKey, 1);

IWIDGET_SetBorderColor(pLeftSoftKey, MAKE_RGB(155,155,155));
IWIDGET_SetBorderColor(pRightSoftKey, MAKE_RGB(155,155,155));

IWIDGET_SetPadding(pSoftKeyWidget, 0);
IPROPCONTAINER_SetPaddingExact(pPropContainer, pLeftSoftKey, 0, 20);

IWIDGET_SetFlags(pLeftSoftKey, IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);
IWIDGET_SetFlags(pRightSoftKey, IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);

IWIDGET_SetExtent(pLeftSoftKey,&widgetextent);
IWIDGET_SetExtent(pRightSoftKey,&widgetextent);

IWIDGET_SetBorderColor(pSoftKeyWidget, MAKE_RGB(255, 0, 0));

IFORM_SetWidget((IForm *)pMe->pIRootForm, WID_SOFTKEYS, pSoftKeyWidget);

IWIDGET_Release(pSoftKeyWidget);
IPROPCONTAINER_Release(pPropContainer);
}
...全文
1690 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wishifef 2010-08-04
  • 打赏
  • 举报
回复
{
IPropContainer *pPropContainer;
IWidget *pLeftSoftKey = NULL, *pRightSoftKey = NULL;
IWidget *pSoftKeyWidget;
WExtent widgetextent;
widgetextent.height = 100;
widgetextent.width = 240;
IFORM_GetWidget((IForm *)pMe->pIRootForm, WID_SOFTKEYS, (IWidget **)&pSoftKeyWidget);
IWIDGET_QueryInterface(pSoftKeyWidget, AEEIID_PROPCONTAINER, (void **)&pPropContainer);
pRightSoftKey = IPROPCONTAINER_GetWidget(pPropContainer, pRightSoftKey, FALSE, FALSE);
pLeftSoftKey = IPROPCONTAINER_GetWidget(pPropContainer, pRightSoftKey, FALSE, FALSE);
IWIDGET_SetBorderWidth(pLeftSoftKey, 1);
IWIDGET_SetBorderWidth(pRightSoftKey, 1);

IWIDGET_SetBorderColor(pLeftSoftKey, MAKE_RGB(155,155,155));
IWIDGET_SetBorderColor(pRightSoftKey, MAKE_RGB(155,155,155));

IWIDGET_SetPadding(pSoftKeyWidget, 0);
IPROPCONTAINER_SetPaddingExact(pPropContainer, pLeftSoftKey, 0, 20);

IWIDGET_SetFlags(pLeftSoftKey, IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);
IWIDGET_SetFlags(pRightSoftKey, IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);

// IWIDGET_SetExtent(pLeftSoftKey,&widgetextent);
// IWIDGET_SetExtent(pRightSoftKey,&widgetextent);
IWIDGET_SetExtent(pSoftKeyWidget,&widgetextent);

IWIDGET_SetBorderColor(pSoftKeyWidget, MAKE_RGB(255, 0, 0));

IFORM_SetWidget((IForm *)pMe->pIRootForm, WID_SOFTKEYS, pSoftKeyWidget);

IWIDGET_Release(pSoftKeyWidget);
IPROPCONTAINER_Release(pPropContainer);

}

直接给IWIDGET_SetExtent(pSoftKeyWidget,&widgetextent);
可以的啊,大小改变了的!你试一下
dx5204 2010-08-04
  • 打赏
  • 举报
回复
最好给段代码,谢谢~~~
dx5204 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 givenup 的回复:]
直接用pSoftKeyWidget去设置大小试一下
[/Quote]

试了还是不行
dx5204 2010-08-04
  • 打赏
  • 举报
回复
其他属性都能改变,我试了,就是大小改不了不知为啥
givenup 2010-08-04
  • 打赏
  • 举报
回复
直接用pSoftKeyWidget去设置大小试一下
ProgrammerNO1 2010-08-04
  • 打赏
  • 举报
回复
title是可以改的

softkey大小改变想必也行

风格属性

2,853

社区成员

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

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