⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vdjedit.c

📁 这是我写一个完成的Brew小程序
💻 C
字号:
/*
 *  VideoDJ视频编辑界面
 *  创建人  :张毅 
 *  创建时间:2006-09-02
 */

#include "VDJApp.h"

#include "VDJApp_res.h"


//函数原型
IWindow *  CVDJEdit_New(CVDJApp * pVDJApp);
void       CVDJEdit_Enable(IWindow * po, boolean bEnable);
void       CVDJEdit_Delete(IWindow * po);
void       CVDJEdit_Redraw(IWindow * po);
boolean    CVDJEdit_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);

extern IWindow *  CWindow_New(int16 nSize, CVDJApp *pVDJApp, VTBL(IWindow) * pvt);
extern boolean CVDJApp_SetWindow(CVDJApp * pme, WINID eWinID, uint32 dwParam);

extern void CVDJApp_FreeIF(IBase ** ppif);
extern void CVDJApp_FreeWin(IWindow ** ppif);

//创建VideoDJ视频编辑界面
IWindow *CVDJEdit_New(CVDJApp *pOwner)
{
   CVDJEdit *        pMe;
   //VTBL(IWindow)   vtbl;
   IWindowVtbl       vtbl;
      
   CVDJAPP_IWINDOW_SETVTBL(&vtbl, CVDJEdit_Enable, CVDJEdit_Redraw, CVDJEdit_HandleEvent, CVDJEdit_Delete);
   pMe = (CVDJEdit*)CWindow_New(sizeof(CVDJEdit), pOwner, &vtbl);
   if (!pMe)
   {
      return NULL;
   }
   
   //加载CVDJEdit界面的图片
   //pMe->m_pVDJImage =ISHELL_LoadResImage(pMe->m_pIShell, VDJAPP_RES_FILE, IDB_BREW );
   //IIMAGE_Draw(pMe->m_pVDJImage, 10, 10);
   //IDISPLAY_Update(pMe->m_pIDisplay);

   //创建CVDJEdit下面的菜单项
   if(ISHELL_CreateInstance(pMe->m_pIShell, AEECLSID_MENUCTL, (void **)&pMe->m_pVDJMenu))
   {
       CVDJAPP_RELEASEWIN(pMe);
   }
      
   IMENUCTL_AddItem(pMe->m_pVDJMenu, VDJAPP_RES_FILE, IDS_PAUSE, IDS_PAUSE, NULL, 0);
   IMENUCTL_AddItem(pMe->m_pVDJMenu, VDJAPP_RES_FILE, IDS_PLAY,  IDS_PLAY,  NULL, 0);


   return (IWindow *)pMe;
}


static void CVDJEdit_Enable(IWindow * po, boolean bEnable)
{
   CVDJEdit *  pme = (CVDJEdit *)po;

   IMENUCTL_SetActive(pme->m_pVDJMenu, TRUE);
}


static void CVDJEdit_Delete(IWindow * po)
{
   CVDJEdit *  pMe = (CVDJEdit *)po;

   CVDJAPP_RELEASEIF(pMe->m_pVDJMenu);

   FREE(pMe);
}

static void CVDJEdit_Redraw(IWindow * po)
{
   CVDJEdit *  pMe = (CVDJEdit *)po;

   IDISPLAY_ClearScreen(pMe->m_pIDisplay);

   IMENUCTL_Redraw(pMe->m_pVDJMenu);

   IDISPLAY_Update(pMe->m_pIDisplay);
}

static boolean CVDJEdit_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
    CVDJEdit *  pMe = (CVDJEdit *)po;

    switch(eCode)
    {
        case EVT_KEY:
        {
            switch(wParam)
            {
                case AVK_SOFT1:
                {
                    break;
                }
                
                case AVK_CLR:
                case AVK_SOFT2:
                {
                    //返回到上一个界面
                    CVDJApp_SetWindow(pMe->m_pOwner,WINID_VDJMAIN,0);
                    return TRUE;
                }
                default:
                {
                    break;
                }
                
            }

            return IMENUCTL_HandleEvent(pMe->m_pVDJMenu, eCode, wParam, dwParam);            

        }

        default:
        {
            break;        
        }
    
    }

    return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -