硬汉嵌入式论坛

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

[有问必答] 基于V5的emWin智能家居案例将应用代码从480*272分辨率修改为800*480分辨率的方法

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2020-8-4 13:18:21 | 显示全部楼层 |阅读模式
例子下载:
含MDK4和MDK5:

第66期:智能家居界面设计.7z (5.92 MB, 下载次数: 26)

注:emWin所有例子的驱动都是4.3寸屏,5寸屏和7寸屏自适应的,但应用代码设计,有些例子是不能自适应的。

此例子仅需修改MainTask.C文件,其它文件都不需要动。

原始例子修改1:
重新设置ICONVIEW的坐标位置
  1. /*在指定位置创建指定尺寸的ICONVIEW 小工具*/
  2.         hWinICON = ICONVIEW_CreateEx(150,                                                 /* 小工具的最左像素(在父坐标中)*/
  3.                                         60,                                                         /* 小工具的最上像素(在父坐标中)*/
  4.                                         500,                                                    /* 小工具的水平尺寸(单位:像素)*/
  5.                                         230,                                                         /* 小工具的垂直尺寸(单位:像素)*/
  6.                                       hWinMain,                          /* 父窗口的句柄。如果为0 ,则新小工具将成为桌面(顶级窗口)的子窗口 */
  7.                                      WM_CF_SHOW | WM_CF_HASTRANS,   /* 窗口创建标记。为使小工具立即可见,通常使用 WM_CF_SHOW */
  8.                                     0,//ICONVIEW_CF_AUTOSCROLLBAR_V,         /* 默认是0,如果不够现实可设置增减垂直滚动条 */
  9.                                   GUI_ID_ICONVIEW0,                                 /* 小工具的窗口ID */
  10.                                   90,                                                             /* 图标的水平尺寸 */
  11.                                  90);                                                                /* 图标的垂直尺寸 */
复制代码




原始例子修改2:
设置图标在x 或y 方向上的间距。
  1.         ICONVIEW_SetSpace(hWinICON, GUI_COORD_Y, 20);
  2.         ICONVIEW_SetSpace(hWinICON, GUI_COORD_X, 10);
复制代码


原始例子修改3:
回调函数_cbDialog里面的WM_PAINT修改:

  1.                         GUI_DrawGradientH(0, 44, 400- 1, 480-44, 0xdda0dd, 0xe14169);
  2.                     GUI_DrawGradientH(400, 44, 800-1, 480-44, 0xe14169, 0xdda0dd);
  3.                         
  4.                         GUI_DrawBitmapMag(&bmButtonLine, 0, 480-44, 2, 1);
  5.                     GUI_DrawBitmapMag(&bmTopLine, 0, 0, 2, 1);
复制代码


原始例子修改4:

修改_aDialogCreate

  1. /*
  2. *********************************************************************************************************
  3. *                                     对话框GUI_WIDGET_CREATE_INFO类型数组
  4. *********************************************************************************************************
  5. */
  6. static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =
  7. {
  8.         { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 800, 480, 0, 0x0, 0 },
  9.         { TEXT_CreateIndirect, "Text", ID_TEXT_0, 300, 7, 200, 20, 0, 0x64, 0 },
  10.         { TEXT_CreateIndirect, "Text", ID_TEXT_9,  674, 12, 70, 16, 0, 0x64, 0  },
  11.         { TEXT_CreateIndirect, "Text", ID_TEXT_10, 744, 12, 60, 16, 0, 0x64, 0 },
  12. };
复制代码


原始例子修改5:

修改_aDialogCreate1

  1. /*
  2. *********************************************************************************************************
  3. *                                     对话框GUI_WIDGET_CREATE_INFO类型数组
  4. *********************************************************************************************************
  5. */
  6. static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] = {
  7.     { FRAMEWIN_CreateIndirect,  "Caption",           0,                       0,  0,  800,480,0,0},
  8.     { SLIDER_CreateIndirect,     NULL,               GUI_ID_SLIDER0,          115,56, 248,46, 0,0},
  9.     { BUTTON_CreateIndirect,    "BUTTON0",           GUI_ID_BUTTON0,          115,143,248,32, 0,0}
  10. };
复制代码



其它地方不用动,修改完毕。

其实总的来说就是修改下坐标位置即可。




回复

使用道具 举报

4

主题

1459

回帖

1471

积分

至尊会员

积分
1471
发表于 2020-8-22 08:58:13 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-17 02:28 , Processed in 0.039690 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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