硬汉嵌入式论坛

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

[emWin] ICONVIEW:图标显示异常

[复制链接]

2

主题

1

回帖

2

积分

新手上路

积分
2
发表于 2017-5-14 22:50:24 | 显示全部楼层 |阅读模式
#include "DIALOG.h"
#include <includes.h>
/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
#define ID_TEXT_0 (GUI_ID_USER + 0x01)
#define ID_ICONVIEW_0 (GUI_ID_USER + 0x02)


extern GUI_CONST_STORAGE GUI_BITMAP bm01;
extern GUI_CONST_STORAGE GUI_BITMAP bm02;
extern GUI_CONST_STORAGE GUI_BITMAP bm03;
extern GUI_CONST_STORAGE GUI_BITMAP bm04;
extern GUI_CONST_STORAGE GUI_BITMAP bm05;
extern GUI_CONST_STORAGE GUI_BITMAP bm06;
extern GUI_CONST_STORAGE GUI_BITMAP bm07;
extern GUI_CONST_STORAGE GUI_BITMAP bm08;
extern GUI_CONST_STORAGE GUI_BITMAP bm09;




// USER START (Optionally insert additional defines)
// USER END


/*********************************************************************
*
*       Static data
*
**********************************************************************
*/


// USER START (Optionally insert additional static data)
// USER END


/*********************************************************************
*
*       _aDialogCreate
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 240, 320, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_0, 22, 259, 166, 31, 0, 0x64, 0 },
  { ICONVIEW_CreateIndirect, "Iconview", ID_ICONVIEW_0, 0, 0, 240, 250, 0, 0x0, 0 },
  // USER START (Optionally insert additional widgets)
  // USER END
};


/*********************************************************************
*
*       Static code
*
**********************************************************************
*/


// USER START (Optionally insert additional static code)
// USER END


/*********************************************************************
*
*       _cbDialog
*/
static void _cbDialog(WM_MESSAGE * pMsg) {
  WM_HWIN hItem;
  int     NCode;
  int     Id;
     WM_HWIN IconviewWin;    //ICONVIEW控件窗口
  // USER START (Optionally insert additional variables)
  // USER END


  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    //
    // Initialization of 'Framewin'
    //
    hItem = pMsg->hWin;
    FRAMEWIN_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
    TEXT_SetFont(hItem, GUI_FONT_13H_ASCII);
    TEXT_SetText(hItem, "Text");
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
   
   
      hItem = WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_0);
        ICONVIEW_SetIconAlign(hItem, ICONVIEW_IA_TOP);
        ICONVIEW_SetTextColor(hItem, ICONVIEW_CI_UNSEL, GUI_BLUE);
        ICONVIEW_SetTextColor(hItem, ICONVIEW_CI_SEL, GUI_GREEN);
     
        ICONVIEW_SetFrame(hItem, GUI_COORD_X, 0);
        ICONVIEW_SetFrame(hItem, GUI_COORD_Y, 0);
        ICONVIEW_SetSpace(hItem, GUI_COORD_X, 65);   
        ICONVIEW_SetSpace(hItem, GUI_COORD_Y, 32);      
ICONVIEW_SetSpace
这个地方怎么修改都显示不正常,个朋友分析一下是什么问题
         

修改参数显示异常

修改参数显示异常

修改参数显示异常

修改参数显示异常

修改参数显示异常

修改参数显示异常
                                                        
        ICONVIEW_SetFont(hItem, GUI_FONT_16_1);
        ICONVIEW_AddBitmapItem(hItem, &bm01, "neqee");
        ICONVIEW_AddBitmapItem(hItem, &bm02, "SOS");
        ICONVIEW_AddBitmapItem(hItem, &bm03, &quothone");
        ICONVIEW_AddBitmapItem(hItem, &bm04, "Camera");
        ICONVIEW_AddBitmapItem(hItem, &bm05, "Email");
        ICONVIEW_AddBitmapItem(hItem, &bm06, "NoteBook");
        ICONVIEW_AddBitmapItem(hItem, &bm07, "JTV");
        ICONVIEW_AddBitmapItem(hItem, &bm08, "Dollar");
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
    break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_ICONVIEW_0: // Notifications sent by 'Iconview'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_MOVED_OUT:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SCROLL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SEL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
      break;
    // USER START (Optionally insert additional code for further Ids)
    // USER END
    }
    break;
  // USER START (Optionally insert additional message handling)
  // USER END
  default:
    WM_DefaultProc(pMsg);
    break;
  }
}


/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       CreateFramewin
*/
WM_HWIN CreateFramewin(void);
WM_HWIN CreateFramewin(void) {
  WM_HWIN hWin;


  hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  return hWin;
}
void MainTask(void)
{


        BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
        CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
        DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
        FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
        HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
        MENU_SetDefaultSkin(MENU_SKIN_FLEX);
        MULTIPAGE_SetDefaultSkin(MULTIPAGE_SKIN_FLEX);
        PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
        RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
        SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
        SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
        SPINBOX_SetDefaultSkin(SPINBOX_SKIN_FLEX);
   
   
      CreateFramewin();
   
      LCD_BK_OFF();
   
    while(1)
            GUI_Delay(100);


}
// USER START (Optionally insert additional public code)
// USER END


/*************************** End of file ****************************/
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-5-15 00:19:34 | 显示全部楼层
这个控件直接资源列表的形式创建不好管理,不方便,推荐单独创建。

可以参考这个例子的MainTask,C文件:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=17330
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 16:20 , Processed in 0.042312 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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