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

📄 shapeapp.cpp

📁 绘制各种图形的类
💻 CPP
字号:
// ShapeApp.cpp
//

#include "ShapeApp.h"
#include "SHAPEAPP.BID"
#include "myShape.h"
#include "myRect.h"
#include "myCirc.h"
#include "myPoint.h"
#include "myList.h"

extern "C"
{
int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)
{
	*ppObj = NULL;
		
	if(ClsId == AEECLSID_SHAPEAPP)
	{
		if(AEEApplet_New(sizeof(ShapeApp), ClsId, pIShell,po,(IApplet**)ppObj,
			(AEEHANDLER)ShapeApp::HandleEvent,(PFNFREEAPPDATA)ShapeApp::freeAppData))
		{
			if(ShapeApp::initAppData((IApplet *) *ppObj))
			{
				return (AEE_SUCCESS);
			}
     	}
      	
	}
	return (EFAILED);
}
}

boolean ShapeApp::HandleEvent(ShapeApp * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	return pi->onEvent(eCode, wParam, dwParam);
}

boolean ShapeApp::initAppData(IApplet * pIApplet)
{
	return ((ShapeApp *) pIApplet)->initData();
}

void ShapeApp::freeAppData(ShapeApp * pApp)
{
	pApp->freeData();
}

boolean ShapeApp::initData()
{
	m_pShapes = new CList();
	return TRUE;
}

boolean ShapeApp::onEvent(AEEEvent evt, uint16 wParam, uint32 dwParam)
{
	switch(evt)
	{
		case EVT_APP_START:
		{
			CShape *ps = new CRect(10,10,30,20,BLUE);
			m_pShapes->insert(ps);
			ps = new CCirc(20, CPoint(20,40),YELLOW);
			m_pShapes->insert(ps);
			m_pShapes->update(m_pIShell);

			return TRUE;
		}
		
		case EVT_APP_SUSPEND:
			return TRUE;
			
		case EVT_APP_RESUME:
			return TRUE;		
			
		case EVT_KEY:
		{
			switch(wParam)
			{
				case AVK_CLR:
					return FALSE;
					
				case AVK_UP:
				case AVK_DOWN:
				case AVK_LEFT:
				case AVK_RIGHT:
				case AVK_SELECT:
					break;					

				default:
					break;
			}
			break;
		}

		case EVT_COMMAND:
		{
			break;
		}
		
		case EVT_APP_STOP:
			return TRUE;

		default:
         break;
   }
   return FALSE;
}

void ShapeApp::freeData()
{
	delete m_pShapes;
	m_pShapes = NULL;
}

⌨️ 快捷键说明

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