亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainfrm.cpp

?? 詳細介紹c++編程
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "Triangle.h"

#include "MainFrm.h"
#include "TriangleView.h"
#include "body.h"
#include <string.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	ON_COMMAND_EX(CG_ID_VIEW_FRAMEDIALOGBAR, OnBarCheck)
	ON_UPDATE_COMMAND_UI(CG_ID_VIEW_FRAMEDIALOGBAR, OnUpdateControlBarMenu)
	ON_COMMAND_EX(CG_ID_VIEW_INFOBAR, OnBarCheck)
	ON_UPDATE_COMMAND_UI(CG_ID_VIEW_INFOBAR, OnUpdateControlBarMenu)
	ON_WM_CREATE()
	ON_COMMAND_EX(CG_ID_VIEW_SKELETENDIALOGBAR, OnBarCheck)
	ON_UPDATE_COMMAND_UI(CG_ID_VIEW_SKELETENDIALOGBAR, OnUpdateControlBarMenu)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_PALETTECHANGED()
	ON_WM_QUERYNEWPALETTE()
	ON_NOTIFY(TVN_SELCHANGED, IDC_BODYTREE, OnSelchangedTree)
	ON_BN_CLICKED(IDC_BUTTON_PLAY, OnButtonPlay)
	ON_BN_CLICKED(IDC_BUTTON_STOP, OnButtonStop)
	ON_BN_CLICKED(IDC_BUTTON_ADDGROUP, OnButtonAddGroup)
	ON_BN_CLICKED(IDC_BUTTON_DELGROUP, OnButtonDelGroup)
	ON_BN_CLICKED(IDC_BUTTON_ADDFRAME, OnButtonAddFrame)
	ON_BN_CLICKED(IDC_BUTTON_DELFRAME, OnButtonDelFrame)
	ON_BN_CLICKED(IDC_BUTTON_NEXT, OnButtonNext)
	ON_BN_CLICKED(IDC_BUTTON_PREV, OnButtonPrev)
	ON_BN_CLICKED(IDC_BUTTON_FIRST, OnButtonFirst)
	ON_BN_CLICKED(IDC_BUTTON_LAST, OnButtonLast)
	ON_COMMAND(ID_TOGGLE_ATTRIBUTEBAR, OnToggleAttributebar)
	ON_UPDATE_COMMAND_UI(ID_TOGGLE_ATTRIBUTEBAR, OnUpdateToggleAttributebar)
	ON_COMMAND(ID_TOGGLE_MANIPULATEBAR, OnToggleManipulatebar)
	ON_UPDATE_COMMAND_UI(ID_TOGGLE_MANIPULATEBAR, OnUpdateToggleManipulatebar)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static char *BodyTypes[] = 
{
	"body            ",	
	"upper_body      ",
	"head            ",
	"shoulder        ",
	"left_arm        ",
	"right_arm       ",	
	"left_upper_arm  ",
	"right_upper_arm ",	
	"left_lower_arm  ",
	"right_lower_arm ",	
	"left_hand       ",
	"right_hand      ",	
	"lower_body      ",	
	"left_leg        ",
	"right_leg       ",	
	"left_upper_leg  ",
	"right_upper_leg ",	
	"left_lower_leg  ",
	"right_lower_leg ",	
	"left_foot       ",
	"right_foot      ",
	"left_elbow      ",
	"right_elbow     ",
	"left_wrist     ",
	"right_wrist     ",
	"left_knee       ",
	"right_knee      ",
	"left_ankle      ",
	"right_ankle     "
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	m_pView = NULL;	
	body_id = BODY;
}

CMainFrame::~CMainFrame()
{
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	//  the CREATESTRUCT cs

	return CFrameWnd::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnPaletteChanged(CWnd* pFocusWnd) 
	{
    CView* pView = GetActiveView();
    if (pView) 
		{
        // OnPaletteChanged is not public, so send a message.
        pView->SendMessage(WM_PALETTECHANGED,
                           (WPARAM)(pFocusWnd->GetSafeHwnd()),
                           (LPARAM)0);
		}
	}

BOOL CMainFrame::OnQueryNewPalette() 
	{
	CView* pView = GetActiveView();
    if (pView)
		{
        return pView->SendMessage(WM_QUERYNEWPALETTE,
                                  (WPARAM)0,
                                  (LPARAM)0);
	    }
    return FALSE; 
	}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	if (!m_wndManipulateBar.Create(this) ||
		!m_wndManipulateBar.LoadToolBar(IDR_MANIPULATEBAR))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;
	}

	m_wndManipulateBar.SetBarStyle(m_wndManipulateBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

	m_wndManipulateBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndManipulateBar);

	if (!m_wndAttributeBar.Create(this) ||
		!m_wndAttributeBar.LoadToolBar(IDR_ATTRIBUTEBAR))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	m_wndAttributeBar.SetBarStyle(m_wndAttributeBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

	m_wndAttributeBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndAttributeBar);

	// TODO: Add a menu item that will toggle the visibility of the
	// dialog bar named "Skeleten Dialog Bar":
	//   1. In ResourceView, open the menu resource that is used by
	//      the CMainFrame class
	//   2. Select the View submenu
	//   3. Double-click on the blank item at the bottom of the submenu
	//   4. Assign the new item an ID: CG_ID_VIEW_SKELETENDIALOGBAR
	//   5. Assign the item a Caption: Skeleten Dialog Bar

	// TODO: Change the value of CG_ID_VIEW_SKELETENDIALOGBAR to an appropriate value:
	//   1. Open the file resource.h
	// CG: The following block was inserted by the 'Dialog Bar' component
	{
		// Initialize dialog bar m_wndSkeletenDialogBar
		if (!m_wndSkeletenDialogBar.Create(this, CG_IDD_SKELETENDIALOGBAR,
			CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
			CG_ID_VIEW_SKELETENDIALOGBAR))
		{
			TRACE0("Failed to create dialog bar m_wndSkeletenDialogBar\n");
			return -1;		// fail to create
		}

		m_wndSkeletenDialogBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
		EnableDocking(CBRS_ALIGN_ANY);
		DockControlBar(&m_wndSkeletenDialogBar);
	}

    CTreeCtrl *pTreeCtrl = (CTreeCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_BODYTREE);
	TV_INSERTSTRUCT temp;
	temp.hParent = NULL;
	temp.hInsertAfter = TVI_LAST;
	temp.item.mask = TVIF_TEXT;
	temp.item.hItem = NULL;
	temp.item.state = 0;
	temp.item.stateMask = 0;
	temp.item.cchTextMax = 12;
	temp.item.iSelectedImage = 0;
	temp.item.cChildren = 0;
	temp.item.lParam = 0;

	temp.item.pszText = "body";
	body = pTreeCtrl->InsertItem(&temp);

	temp.hParent = body;
	temp.item.pszText = "upper_body";
	upper_body = pTreeCtrl->InsertItem(&temp);

	temp.hParent = body;
	temp.item.pszText = "lower_body";
	lower_body = pTreeCtrl->InsertItem(&temp);

	temp.hParent = upper_body;
	temp.item.pszText = "head";
	head = pTreeCtrl->InsertItem(&temp);

	temp.hParent = upper_body;
	temp.item.pszText = "shoulder";
	shoulder = pTreeCtrl->InsertItem(&temp);

	temp.hParent = upper_body;
	temp.item.pszText = "left_arm";
	left_arm = pTreeCtrl->InsertItem(&temp);

	temp.hParent = upper_body;
	temp.item.pszText = "right_arm";
	right_arm = pTreeCtrl->InsertItem(&temp);

	temp.hParent = lower_body;
	temp.item.pszText = "left_leg";
	left_leg = pTreeCtrl->InsertItem(&temp);

	temp.hParent = lower_body;
	temp.item.pszText = "right_leg";
	right_leg = pTreeCtrl->InsertItem(&temp);

	temp.hParent = left_arm;
	temp.item.pszText = "left_upper_arm";
	left_upper_arm = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "left_lower_arm";
	left_lower_arm = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "left_hand";
	left_hand = pTreeCtrl->InsertItem(&temp);

	temp.hParent = right_arm;
	temp.item.pszText = "right_upper_arm";
	right_upper_arm = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "right_lower_arm";
	right_lower_arm = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "right_hand";
	right_hand = pTreeCtrl->InsertItem(&temp);

	temp.hParent = left_leg;
	temp.item.pszText = "left_upper_leg";
	left_upper_leg = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "left_lower_leg";
	left_lower_leg = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "left_foot";
	left_foot = pTreeCtrl->InsertItem(&temp);

	temp.hParent = right_leg;
	temp.item.pszText = "right_upper_leg";
	right_upper_leg = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "right_lower_leg";
	right_lower_leg = pTreeCtrl->InsertItem(&temp);

	temp.item.pszText = "right_foot";
	right_foot = pTreeCtrl->InsertItem(&temp);

	CSpinButtonCtrl *pSpin;

	pSpin = (CSpinButtonCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_SPIN_BODYTYPE);
	pSpin->SetRange(0, 1);
	pSpin->SetPos(0);
	
	pSpin = (CSpinButtonCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_SPIN_ORIENTATIONX);
	pSpin->SetRange(0, 1);
	pSpin->SetPos(0);

	pSpin = (CSpinButtonCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_SPIN_ORIENTATIONY);
	pSpin->SetRange(0, 1);
	pSpin->SetPos(0);

	pSpin = (CSpinButtonCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_SPIN_POSITIONY);
	pSpin->SetRange(0, 1);
	pSpin->SetPos(0);

	CString str = "Body Type : ";
	str += (LPCTSTR)BodyTypes[body_id];
	m_wndSkeletenDialogBar.SetDlgItemText(IDC_STATIC_BODYTYPE, (LPCTSTR)str);
	// TODO: Add a menu item that will toggle the visibility of the
	// dialog bar named "Frame Dialog Bar":
	//   1. In ResourceView, open the menu resource that is used by
	//      the CMainFrame class
	//   2. Select the View submenu
	//   3. Double-click on the blank item at the bottom of the submenu
	//   4. Assign the new item an ID: CG_ID_VIEW_FRAMEDIALOGBAR
	//   5. Assign the item a Caption: Frame Dialog Bar

	// TODO: Change the value of CG_ID_VIEW_FRAMEDIALOGBAR to an appropriate value:
	//   1. Open the file resource.h
	// CG: The following block was inserted by the 'Dialog Bar' component
	{
		// Initialize dialog bar m_wndFrameDialogBar
		if (!m_wndFrameDialogBar.Create(this, CG_IDD_FRAMEDIALOGBAR,
			CBRS_BOTTOM | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
			CG_ID_VIEW_FRAMEDIALOGBAR))
		{
			TRACE0("Failed to create dialog bar m_wndFrameDialogBar\n");
			return -1;		// fail to create
		}

		m_wndFrameDialogBar.EnableDocking(CBRS_ALIGN_BOTTOM | CBRS_ALIGN_TOP);
		EnableDocking(CBRS_ALIGN_ANY);
		DockControlBar(&m_wndFrameDialogBar);
	}

	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	SetIcon(m_hIcon, TRUE);
	SetIcon(m_hIcon, FALSE);

	return 0;
}

void CMainFrame::SetRoot(void)
{
   CTreeCtrl *pTreeCtrl = (CTreeCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_BODYTREE);
	pTreeCtrl->SelectItem(pTreeCtrl->GetRootItem());
}

void CMainFrame::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult)
{
    CTreeCtrl *pTreeCtrl = (CTreeCtrl*)m_wndSkeletenDialogBar.GetDlgItem(IDC_BODYTREE);

	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

	HTREEITEM hNewItem;
	HTREEITEM hOldItem;
    CString str = "Body Type : ";

	hOldItem = pNMTreeView->itemOld.hItem;

	hNewItem = pNMTreeView->itemNew.hItem;

	if(hNewItem != NULL)
	{
	  if(hNewItem == body)
	  {
		  body_id = BODY;
	  }else
	  if(hNewItem == upper_body)
	  {
		  body_id = UPPER_BODY;
	  }else
	  if(hNewItem == lower_body)
	  {
		  body_id = LOWER_BODY;
	  }else
	  if(hNewItem == left_arm)
	  {
		  body_id = LEFT_ARM;
	  }else
	  if(hNewItem == right_arm)
	  {
		  body_id = RIGHT_ARM;
	  }else
	  if(hNewItem == left_leg)
	  {
		  body_id = LEFT_LEG;
	  }else
	  if(hNewItem == right_leg)
	  {
		  body_id = RIGHT_LEG;
	  }else
	  if(hNewItem == left_upper_arm)
	  {
		  body_id = LEFT_UPPER_ARM;
	  }else
	  if(hNewItem == right_upper_arm)
	  {
		  body_id = RIGHT_UPPER_ARM;
	  }else
	  if(hNewItem == left_lower_arm)
	  {
		  body_id = LEFT_LOWER_ARM;
	  }else
	  if(hNewItem == right_lower_arm)
	  {
		  body_id = RIGHT_LOWER_ARM;
	  }else
	  if(hNewItem == left_hand)
	  {
		  body_id = LEFT_HAND;
	  }else
	  if(hNewItem == right_hand)
	  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人av在线| 在线观看国产日韩| 色哟哟日韩精品| 久久久久久久综合色一本| 亚洲电影视频在线| 99在线视频精品| 欧美xxxxxxxxx| 五月天欧美精品| 91黄视频在线| 国产精品毛片久久久久久久| 蓝色福利精品导航| 欧美乱妇23p| 亚洲最新视频在线播放| 粉嫩嫩av羞羞动漫久久久| 日韩欧美中文字幕精品| 亚洲精品国产高清久久伦理二区| 国产成a人无v码亚洲福利| 日韩欧美高清dvd碟片| 亚洲地区一二三色| 91网站最新地址| 中文字幕在线免费不卡| 风间由美性色一区二区三区| 精品av久久707| 日韩激情一区二区| 欧美精品久久一区| 日韩在线一二三区| 欧美日韩国产小视频| 一区二区不卡在线播放| 成人高清视频在线| 国产欧美日韩视频一区二区| 极品少妇一区二区三区精品视频| 日韩久久久久久| 久久精品国产在热久久| 日韩欧美中文字幕制服| 麻豆精品在线视频| 久久这里只有精品首页| 精品一区二区三区日韩| 精品对白一区国产伦| 国产在线不卡一卡二卡三卡四卡| 欧美成人vr18sexvr| 精品一区二区在线视频| 精品入口麻豆88视频| 国产综合久久久久久鬼色 | 久久嫩草精品久久久精品一| 捆绑调教一区二区三区| 亚洲精品在线免费观看视频| 高清不卡一区二区| 亚洲视频中文字幕| 欧美日韩精品电影| 精品一区二区在线免费观看| 亚洲国产高清在线| 在线亚洲免费视频| 奇米综合一区二区三区精品视频| 久久一区二区三区国产精品| 高清成人在线观看| 亚洲午夜在线视频| 欧美成人bangbros| 91婷婷韩国欧美一区二区| 亚洲一区二区三区四区五区中文| 欧美一区二区三区精品| 国产不卡高清在线观看视频| 一区二区三区欧美日| 91精品国产综合久久久久久久久久| 久久国产生活片100| 国产精品久久一级| 欧美日韩一区二区在线观看视频| 韩国一区二区三区| 亚洲午夜免费福利视频| 精品国产人成亚洲区| 成人av影视在线观看| 亚洲午夜国产一区99re久久| 久久综合久久综合久久综合| 色欧美日韩亚洲| 久久99精品国产91久久来源| 亚洲视频在线观看三级| 欧美一区二区三区在线观看 | 国产精品欧美极品| 欧美日韩国产电影| 成人99免费视频| 麻豆精品国产91久久久久久| 亚洲精品中文在线| 久久精品亚洲国产奇米99| 欧美久久婷婷综合色| 99久久精品国产导航| 毛片一区二区三区| 亚洲制服丝袜在线| 中文字幕欧美日韩一区| 日韩久久久精品| 欧美精品一卡二卡| 色婷婷综合久久久久中文一区二区| 国内国产精品久久| 蜜桃av一区二区在线观看| 亚洲九九爱视频| 中文字幕免费一区| 久久婷婷色综合| 欧美一区二区久久久| 欧美三级一区二区| 日本精品一区二区三区四区的功能| 国产精品66部| 国模一区二区三区白浆| 日本不卡不码高清免费观看| 亚洲最大成人网4388xx| 国产精品高潮呻吟久久| 欧美激情一区三区| 国产日韩欧美a| 久久蜜桃香蕉精品一区二区三区| 在线播放91灌醉迷j高跟美女| 色老汉一区二区三区| 成人黄动漫网站免费app| 国产**成人网毛片九色 | 免费美女久久99| 一区二区三区欧美在线观看| 国产精品第13页| 国产欧美一区二区精品婷婷| 精品乱码亚洲一区二区不卡| 日韩午夜在线播放| 欧美精品一区二区三区很污很色的| 日韩一二三区视频| 欧美mv和日韩mv国产网站| 精品少妇一区二区三区在线视频| 欧美大尺度电影在线| 日韩一区二区三免费高清| 欧美一级久久久久久久大片| 日韩精品综合一本久道在线视频| 91精品国产综合久久小美女| 日韩一区二区不卡| 国产午夜精品美女毛片视频| 欧美激情自拍偷拍| 亚洲精品欧美在线| 日韩高清在线不卡| 国产乱子伦视频一区二区三区| 高清成人免费视频| 色美美综合视频| 在线播放中文字幕一区| 欧美成人欧美edvon| 久久精品夜色噜噜亚洲a∨| 亚洲视频在线一区二区| 日韩成人伦理电影在线观看| 国产一区二区在线观看免费| www.久久久久久久久| 在线观看成人小视频| 日韩免费电影一区| 亚洲男女一区二区三区| 视频在线观看一区二区三区| 国产做a爰片久久毛片| 91网站最新地址| 日韩女优制服丝袜电影| 国产精品国产三级国产三级人妇| 亚洲综合另类小说| 久久精品国产澳门| 91色.com| 2019国产精品| 一区二区国产盗摄色噜噜| 久久成人免费电影| 色综合久久综合网欧美综合网| 欧美一级理论片| 亚洲精品欧美在线| 丁香五精品蜜臀久久久久99网站 | 国产精品乡下勾搭老头1| 91美女视频网站| 精品国产一区二区三区忘忧草| 亚洲欧洲日韩av| 极品尤物av久久免费看| 欧美午夜精品久久久久久孕妇| 久久伊人中文字幕| 日韩精品一级中文字幕精品视频免费观看| 国产一区二区三区av电影| 欧美日韩高清在线| 中文字幕中文字幕在线一区| 蜜臀av一级做a爰片久久| 色婷婷综合在线| 国产欧美一区二区精品秋霞影院| 日本成人在线电影网| 欧美性猛交xxxx乱大交退制版 | 日韩精品成人一区二区三区| 不卡一区二区中文字幕| 精品国产91洋老外米糕| 视频一区二区国产| 欧美丝袜丝交足nylons| 亚洲日本在线视频观看| 国产91富婆露脸刺激对白| 26uuu成人网一区二区三区| 日日骚欧美日韩| 欧美日韩国产a| 亚洲sss视频在线视频| 在线观看不卡一区| 亚洲精品乱码久久久久| 91同城在线观看| 综合久久综合久久| 成人国产免费视频| 国产情人综合久久777777| 久久精品国产一区二区三| 91麻豆精品国产| 日韩在线一区二区| 欧美一级在线视频| 日本va欧美va瓶| 日韩欧美亚洲国产另类| 日本一不卡视频| 日韩欧美高清在线| 国内久久精品视频|