硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2560|回复: 7
收起左侧

[emWin] FRAMEWIN_SetBorderSize()次函数设置无效,怎么回事?

[复制链接]

17

主题

121

回帖

172

积分

初级会员

积分
172
发表于 2017-6-5 13:12:11 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-6-5 15:11:04 | 显示全部楼层
因为使能皮肤色了,可以创建对话框后就设置下经典色

hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  FRAMEWIN_SetSkinClassic(hWin);

这样就没问题了。
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2017-6-5 17:20:50 | 显示全部楼层

回 eric2013 的帖子

eric2013:因为使能皮肤色了,可以创建对话框后就设置下经典色

hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  FRAMEWIN_SetSkinClassic(hWin);

....... (2017-06-05 15:11) 
记得你曾经说过,当时没仔细看 ,只知道是设置皮肤的问题,不知道是怎么解决的, 现在又要问一边[s:130]
再多问一下:我还想自己定制一下框架窗口皮肤 这个要怎么解决
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-6-5 17:52:52 | 显示全部楼层

回 王小波 的帖子

王小波:记得你曾经说过,当时没仔细看 ,只知道是设置皮肤的问题,不知道是怎么解决的, 现在又要问一边[s:130]
再多问一下:我还想自己定制一下框架窗口皮肤 这个要怎么解决 (2017-06-05 17:20) 
可以学习新版emWin教程的皮肤色章节,专门进行了讲解:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2017-6-6 09:07:23 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以学习新版emWin教程的皮肤色章节,专门进行了讲解:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834 (2017-06-05 17:52) 
  FRAMEWIN_GetSkinFlexProps(&FRAMEWIN_pProps,FRAMEWIN_SKINFLEX_PI_ACTIVE);
  FRAMEWIN_pProps.aColorTitle[0]=0x00F5A015;
  FRAMEWIN_pProps.aColorTitle[1]=0x00F5A015;
  FRAMEWIN_pProps.aColorFrame[0]=0x00F5A015;
  FRAMEWIN_pProps.aColorFrame[1]=0x00F5A015;
  FRAMEWIN_pProps.aColorFrame[2]=0x00F5A015;
  FRAMEWIN_pProps.BorderSizeL = 1;
  FRAMEWIN_pProps.BorderSizeR = 1;
  FRAMEWIN_pProps.BorderSizeT = 1;
  FRAMEWIN_pProps.BorderSizeB = 1;
  FRAMEWIN_pProps.Radius=0;
  FRAMEWIN_SetSkinFlexProps(&FRAMEWIN_pProps,FRAMEWIN_SKINFLEX_PI_ACTIVE);
这样处理后,客户去变小了(其实不是变小了,只是框架窗口边框变窄了, 客户区 不能覆盖因框架窗口变窄而多出那部分客户区)老大有没有遇到这样的问题,有解决方法吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-6-6 09:59:21 | 显示全部楼层

回 王小波 的帖子

王小波:  FRAMEWIN_GetSkinFlexProps(&FRAMEWIN_pProps,FRAMEWIN_SKINFLEX_PI_ACTIVE);
  FRAMEWIN_pProps.aColorTitle[0]=0x00F5A015;
  FRAMEWIN_pProps.aColorTitle[1]=0x00F5A015;
  FRAMEWIN_pProps.aColorFrame[0]=0x00F5A015;
..... .. (2017-06-06 09:07) 
这个应该是全局的默认边界宽度限制的,应该还得的调用函数FRAMEWIN_SetBorderSize进行限制,不过应该是皮肤色,调用这个函数也没有的。

所以最好这种非常边界的地方就不要显示东西了。弄得跟默认宽度一样,是最好的。
回复

使用道具 举报

12

主题

33

回帖

69

积分

初级会员

积分
69
发表于 2018-9-12 14:25:56 | 显示全部楼层
eric2013 发表于 2017-6-5 15:11
因为使能皮肤色了,可以创建对话框后就设置下经典色

hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COU ...

大神,如你的方法,设置好宽度是1的边框后,再添加滚动条为啥还是离边框3个像素啊,为什么贴不到边上啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-9-12 15:23:03 | 显示全部楼层
wx_ZvqJUIdV 发表于 2018-9-12 14:25
大神,如你的方法,设置好宽度是1的边框后,再添加滚动条为啥还是离边框3个像素啊,为什么贴不到边上啊

GUI_Init后就调用函数设置全局默认值。
FRAMEWIN_SetDefaultBorderSize()

然后试试是否可行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-19 11:32 , Processed in 0.041054 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表