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

📄 subquestdlg.cpp

📁 墨香最新私服
💻 CPP
字号:
// SubQuestDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ds_rmtool.h"
#include "SubQuestDlg.h"
#include "RMNetwork.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSubQuestDlg dialog


CSubQuestDlg::CSubQuestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSubQuestDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSubQuestDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_dwDocumentIdx = 0;
	m_dwCharIdx = 0;
	m_dwQuestIdx = 0;
	m_bInit = FALSE;
}


void CSubQuestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSubQuestDlg)
	DDX_Control(pDX, IDC_SUBQUEST_LISTCTRL, m_lcSubQuest);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSubQuestDlg, CDialog)
	//{{AFX_MSG_MAP(CSubQuestDlg)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSubQuestDlg message handlers

BOOL CSubQuestDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	InitSubQuestListCtrl();
	
	m_bInit = TRUE;

	SendSubQuestInfo();
	
	m_Font.CreatePointFont(100, "Arial");
	m_lcSubQuest.SetFont( &m_Font );
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSubQuestDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	m_dwDocumentIdx = 0;
	m_dwCharIdx = 0;
	m_dwQuestIdx = 0;
	m_bInit = FALSE;	

	m_Font.DeleteObject();
}

void CSubQuestDlg::SetInitData( DWORD dwDocumentIdx, DWORD dwCharIdx, DWORD dwQuestIdx )
{
	m_dwDocumentIdx = dwDocumentIdx;
	m_dwCharIdx = dwCharIdx;
	m_dwQuestIdx = dwQuestIdx;
}

void CSubQuestDlg::InitSubQuestListCtrl()
{
	char* tcolumn[2] = { "SubQuestIdx", "SubQuestTitle" };
	int tcolumnsize[2] = { 80, 160 };
	
	// listctrl column 汲沥
	LV_COLUMN lvcolumn;
	lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvcolumn.fmt = LVCFMT_CENTER;
	for( int i = 0; i < 2; ++i )
	{
		lvcolumn.iSubItem = i;
		lvcolumn.cx = tcolumnsize[i];
		lvcolumn.pszText = tcolumn[i];
		m_lcSubQuest.InsertColumn( i, &lvcolumn );
	}
	// style
	DWORD dwExStyle = m_lcSubQuest.GetExtendedStyle();
	dwExStyle |= LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT;
	m_lcSubQuest.SetExtendedStyle( dwExStyle );
}

void CSubQuestDlg::UpdateSubQuestListCtrl( TMSG_SUBQUESTINFO* pMsg )
{
	m_lcSubQuest.DeleteAllItems();

	char temp[256];
	LV_ITEM lvitem;

	for( int i = 0; i < pMsg->dwCount; ++i )
	{
		lvitem.iItem = m_lcSubQuest.GetItemCount();	// 青
		
		lvitem.iSubItem = 0;
		lvitem.mask = LVIF_TEXT;
		lvitem.stateMask = LVIS_SELECTED;
		lvitem.state = INDEXTOSTATEIMAGEMASK(1);
		lvitem.pszText = itoa( pMsg->SubQuestInfo[i].dwSubQuestIdx, temp, 10 );		
		m_lcSubQuest.InsertItem( &lvitem );

		//
		strcpy( temp, GAMERESRCMNGR->GetSubQuestTitle( pMsg->SubQuestInfo[i].dwQuestIdx, pMsg->SubQuestInfo[i].dwSubQuestIdx ) );
		m_lcSubQuest.SetItemText( lvitem.iItem, 1, temp );
	}
}

void CSubQuestDlg::SendSubQuestInfo()
{
	TMSG_DWORD2 Msg;
	Msg.Category = MP_RMTOOL_CHARACTER;
	Msg.Protocol = MP_RMTOOL_CHARACTER_SUBQUESTINFO_SYN;
	Msg.dwTemplateIdx = m_dwDocumentIdx;
	Msg.dwData1 = m_dwCharIdx;	//某腐磐 牢郸胶
	Msg.dwData2 = m_dwQuestIdx;

	NETWORK->Send( &Msg, sizeof(TMSG_DWORD2) );
}

⌨️ 快捷键说明

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