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

📄 munpadialog.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			char temp[MAX_MUNPA_BOARD_CONTENT+1];
			m_pMBR_Contents->GetScriptText(temp);
			m_pMBW_SubjectEdit->SetEditText(m_pMBR_Subject->GetEditText());
			m_pMBW_SubjectEdit->SetFocusEdit(TRUE);
			m_pMBW_WriteContents->SetScriptText(temp);
			m_pMBW_WriteContents->SetCaretMoveFirst();
			
		}
		break;
	case eMunpaMode_MunpaBoardWrite:
		{
			m_pMBW_SubjectEdit->SetEditText("");
			m_pMBW_SubjectEdit->SetFocusEdit(TRUE);
			m_pMBW_WriteContents->SetScriptText("");
			SetReadingContentsIdx(0);
		}
		break;
	case eMunpaMode_MunpaBoardRead:
		{
			m_pMBR_Modify->SetActive(FALSE);
			m_pMBR_Delete->SetActive(FALSE);
			m_pMBR_Reply->SetActive(FALSE);
			m_pMBR_Contents->SetCaretMoveFirst();
			m_pMBR_Contents->SetReadOnly(TRUE);
		}
		break;
	case eMunpaMode_MunpaBoardRead_Modify:
		{
			m_pMBR_Modify->SetActive(TRUE);
			m_pMBR_Contents->SetCaretMoveFirst();
			m_pMBR_Contents->SetReadOnly(TRUE);
		}
		break;
	case eMunpaMode_MunpaBoardRead_Reple:
		{
			m_pMBR_Reply->SetActive(TRUE);
			m_pMBR_Contents->SetCaretMoveFirst();
			m_pMBR_Contents->SetReadOnly(TRUE);
		}
		break;
	case eMunpaMode_MunpaBoardRead_Delete:
		{
			m_pMBR_Delete->SetActive(TRUE);
		}
		break;
	case eMunpaMode_Warehouse:
		{
			if(MUNPAMGR->IsMunpaMaster(HERO))
				m_pMoneyPutOutBtn->SetActive(TRUE);
			else
				m_pMoneyPutOutBtn->SetActive(FALSE);
		}
		break;
		
		
	case eMunpaMode_NoAuthority:
		{
			m_pNoAuthority->SetActive(TRUE);
		}
		break;
		
	case eMunpaMode_ModifyIntromsg:
		{
			char temp[MAX_MUNPA_INTROMSG+1];
			m_pIntroMsg->GetScriptText(temp);
//			m_pModIntroMsg->SetCaretMoveFirst();
			m_pModIntroMsg->SetScriptText(temp);
			m_pModIntroMsg->SetFocusEdit(TRUE);
		}
		break;
	}
}


void CMunpaDialog::UpdateData()
{
	
}

void CMunpaDialog::RefreshDlg()
{
	m_pHomeBtn->SetActive(TRUE);

	for(int i=0; i<MAX_MUNPA_BOARD_NUM; ++i)
	{
		m_pBoardBtn[i]->SetActive(TRUE);
	}

	DWORD HEROMUNPAID = HERO->GetMunpaIdx();
	BYTE RANK = HERO->GetMunpaMemberRank();
	if( HEROMUNPAID != m_MunpaID)
		ShowNotMember();
	else if(RANK == MUNPA_MASTER)
		ShowMaster();
	else
		ShowMember();		

	UpdateData();
}


void CMunpaDialog::ShowNotMember()
{
	m_pMemberInfoBtn->SetActive(TRUE);
	m_pSecedeBtn->SetActive(FALSE);
	m_pManageMemberBtn->SetActive(FALSE);
	m_pManageMunpaBtn->SetActive(FALSE);
	m_pWareHouseBtn->SetActive(FALSE);

	if(HERO->GetMunpaIdx())
	{
		m_pApplicateCancelBtn->SetActive(FALSE);
		m_pApplicateBtn->SetActive(FALSE);
	}
	else 
	{
		m_pApplicateBtn->SetActive(TRUE);
		m_pApplicateCancelBtn->SetActive(FALSE);
	}
}

void CMunpaDialog::ShowMember()
{
	m_pMemberInfoBtn->SetActive(TRUE);
	m_pApplicateBtn->SetActive(FALSE);
	
	if(HERO->GetMunpaMemberRank() == MUNPA_SEMIMEMBER)
	{
		m_pSecedeBtn->SetActive(FALSE);
		m_pApplicateCancelBtn->SetActive(TRUE);
	}
	else 
	{
		m_pSecedeBtn->SetActive(TRUE);
		m_pApplicateCancelBtn->SetActive(FALSE);
	}

	m_pManageMemberBtn->SetActive(FALSE);
	m_pManageMunpaBtn->SetActive(FALSE);

}

void CMunpaDialog::ShowMaster()
{
	m_pMemberInfoBtn->SetActive(FALSE);
	m_pApplicateBtn->SetActive(FALSE);
	m_pApplicateCancelBtn->SetActive(FALSE);

	m_pSecedeBtn->SetActive(FALSE);

	m_pManageMemberBtn->SetActive(TRUE);
	m_pManageMunpaBtn->SetActive(TRUE);

}

void CMunpaDialog::SetUsedBoardInfo(SEND_MUNPA_BOARD_INFO* pInfo)
{
	m_pMgeBoardComboBox->SelectComboText(0);
	m_pMunpaUsedBoardsInfo->DeleteAllItems();
	
	for(WORD i=0; i<MAX_MUNPA_BOARD_NUM; ++i)
	{
		m_pBoardChk[i]->SetChecked(0);
			
		if(pInfo->BoardIDX[i])
		{
			cRITEMEx * ritem = new cRITEMEx(2);
			
			strcpy(ritem->pString[0], pInfo->BoardNameNum[i].BoardName);
			sprintf(ritem->pString[1], "%d", pInfo->BoardNameNum[i].WritingsNum);
			
			ritem->dwID = pInfo->BoardIDX[i];
			m_pMunpaUsedBoardsInfo->InsertItem(i, ritem);
		}
		else 
			m_pBoardChk[i]->SetActive(FALSE);
	}
	MUNPAMGR->SetMunpaCurBoardNum(pInfo->CurMunpaBoardNum);
	for(i=0; i<MAX_MUNPA_BOARD_NUM; ++i)
	{
		if(i<pInfo->CurMunpaBoardNum)
		{
			m_pBoardBtn[i]->SetActive(TRUE);
			m_pBoardBtn[i]->SetText(pInfo->BoardNameNum[i].BoardName , MUNPABTN_BASICCOLOR,MUNPABTN_OVERCOLOR,MUNPABTN_PRESSCOLOR );
		}
		else 
		{
			m_pBoardBtn[i]->SetText("", MUNPABTN_BASICCOLOR,MUNPABTN_OVERCOLOR,MUNPABTN_PRESSCOLOR );
			m_pBoardBtn[i]->SetActive(FALSE);
			
		}
	}
}

void CMunpaDialog::SetSemiMembersInfo(SEND_MUNPA_SEMIMEMBER_LIST* pInfo)
{
	m_pMemberKindComboBox->SelectComboText(0);
	ShowPageBtn(pInfo->TotalResultNum, m_pSemiMemberPageBtn);

	m_pSemiMembersLCtrl->DeleteAllItems();

	if(pInfo->MunpaMemberList[0].id == 0)
	{
		ResetCurPage();
		return;
	}


	for(int i=0; i<MAX_MUNPA_SEMIMEMBERLIST_NUM; ++i)
	{	
		if(pInfo->MunpaMemberList[i].id)
		{
			RITEM *ritem = new RITEM(4);
			
			strcpy(ritem->pString[0], pInfo->MunpaMemberList[i].Name);
			sprintf(ritem->pString[1], "%d", pInfo->MunpaMemberList[i].Level);
			sprintf(ritem->pString[2], "%d", pInfo->MunpaMemberList[i].Famous);
			strcpy(ritem->pString[3], pInfo->MunpaMemberList[i].RequestJoinDay);
			
			
			m_pSemiMembersLCtrl->InsertItem(i, ritem);
		}
	}
}

void CMunpaDialog::SetMgeSemiMembersInfo(SEND_MUNPA_SEMIMEMBER_LIST* pInfo)
{
	m_pMemberKindComboBox->SelectComboText(0);
	m_pMgeSemiMembersLCtrl->DeleteAllItems();
	ShowPageBtn(pInfo->TotalResultNum, m_pSemiMemberPageBtn);
	
	if(pInfo->MunpaMemberList[0].id == 0)
	{
		ResetCurPage();
		for(int i=0; i<MAX_MUNPA_SEMIMEMBERLIST_NUM; ++i)
			m_pMemberChk[i]->SetActive(FALSE);
		return;
	}
	

	for(int i=0; i<MAX_MUNPA_SEMIMEMBERLIST_NUM; ++i)
	{
		m_pMemberChk[i]->SetChecked(0);
		m_pMemberChk[i]->SetActive(TRUE);
		
		if(pInfo->MunpaMemberList[i].id)
		{
			cRITEMEx *ritem = new cRITEMEx(4);
			
			strcpy(ritem->pString[0], pInfo->MunpaMemberList[i].Name);
			sprintf(ritem->pString[1], "%d", pInfo->MunpaMemberList[i].Level);
			sprintf(ritem->pString[2], "%d", pInfo->MunpaMemberList[i].Famous);
			strcpy(ritem->pString[3], pInfo->MunpaMemberList[i].RequestJoinDay);
			
			ritem->dwID = pInfo->MunpaMemberList[i].id;
			m_pMgeSemiMembersLCtrl->InsertItem(i, ritem);
		}
		else
			m_pMemberChk[i]->SetActive(FALSE);
	}
}

void CMunpaDialog::SetRegularMembersInfo(SEND_MUNPA_REGULARMEMBER_LIST* pInfo)
{
	ShowPageBtn(pInfo->TotalResultNum, m_pRegularMemberPageBtn);

	if(pInfo->MunpaRegularMemberList[0].id == 0)
	{
		ResetCurPage();
		return;
	}
	
	m_pMemberKindComboBox->SelectComboText(1);
	m_pRegularMembersLCtrl->DeleteAllItems();

	for(int i=0; i<MAX_MUNPA_SEMIMEMBERLIST_NUM; ++i)
	{
		if(pInfo->MunpaRegularMemberList[i].id)
		{
			cRITEMEx *ritem = new cRITEMEx(7);

			strcpy(ritem->pString[0], pInfo->MunpaRegularMemberList[i].Name);
			if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_MASTER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(154));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_VICE_MASTER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(157));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_MEMBER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(155));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_SENIOR)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(156));

			sprintf(ritem->pString[2], "%d", pInfo->MunpaRegularMemberList[i].Level);
			sprintf(ritem->pString[3], "%d", pInfo->MunpaRegularMemberList[i].Famous);

			if(pInfo->MunpaRegularMemberList[i].bLogin == 0)
				strcpy(ritem->pString[4], "OFF");
			else
				strcpy(ritem->pString[4], "ON");
			
			strcpy(ritem->pString[5], pInfo->MunpaRegularMemberList[i].lastvisitdate);
			strcpy(ritem->pString[6], pInfo->MunpaRegularMemberList[i].entrydate);
			
			ritem->dwID = pInfo->MunpaRegularMemberList[i].id;
			m_pRegularMembersLCtrl->InsertItem(i, ritem);
		}
		else
			break;
	}
}

void CMunpaDialog::SetMgeRegularMembersInfo(SEND_MUNPA_REGULARMEMBER_LIST* pInfo)
{
	ShowPageBtn(pInfo->TotalResultNum, m_pRegularMemberPageBtn);
	m_pMemberKindComboBox->SelectComboText(1);

	if(pInfo->MunpaRegularMemberList[0].id == 0)
	{
		ResetCurPage();
		return;
	}
	
	m_pMgeRegularMembersLCtrl->DeleteAllItems();
	
	for(int i=0; i<MAX_MUNPA_REGULARMEMBERLIST_NUM; ++i)
	{
		m_pMemberChk[i]->SetChecked(FALSE);
		m_pMemberChk[i]->SetActive(TRUE);
		
		if(pInfo->MunpaRegularMemberList[i].id)
		{
			cRITEMEx *ritem = new cRITEMEx(7);

			sprintf(ritem->pString[0], "%s", pInfo->MunpaRegularMemberList[i].Name);
			if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_MASTER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(154));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_VICE_MASTER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(157));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_MEMBER)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(155));
			else if(pInfo->MunpaRegularMemberList[i].Rank == MUNPA_SENIOR)
				strcpy(ritem->pString[1], CHATMGR->GetChatMsg(156));
			else ASSERT(0);
			sprintf(ritem->pString[2], "%d", pInfo->MunpaRegularMemberList[i].Level);
			sprintf(ritem->pString[3], "%d", pInfo->MunpaRegularMemberList[i].Famous);

			if(pInfo->MunpaRegularMemberList[i].bLogin == 0)
				strcpy(ritem->pString[4], "OFF");
			else
				strcpy(ritem->pString[4], "ON");

			sprintf(ritem->pString[5], "%s", pInfo->MunpaRegularMemberList[i].lastvisitdate);
			sprintf(ritem->pString[6], "%s", pInfo->MunpaRegularMemberList[i].entrydate);

			ritem->dwID = pInfo->MunpaRegularMemberList[i].id;
			m_pMgeRegularMembersLCtrl->InsertItem(i, ritem);

			if(HEROID == pInfo->MunpaRegularMemberList[i].id)
				m_pMemberChk[i]->SetActive(FALSE);
		}
		else 
			m_pMemberChk[i]->SetActive(FALSE);
	}
}

void CMunpaDialog::SetBoardListInfo(SEND_MUNPA_BOARD_LIST_INFO* pInfo)
{
	ShowBoardPageBtn(pInfo->TotalPage);
	m_pMBL_SubjectList->DeleteAllItems();

	if(pInfo->BoardListInfo[0].WritingsIDX == 0)
	{
		ResetCurPage();
		return;
	}

	char tempsubject[256];

	for(int i=0; i<MAX_MUNPA_BOARD_LIST; ++i)
	{		
		if(pInfo->BoardListInfo[i].WritingsIDX)
		{
			cRITEMEx *ritem = new cRITEMEx(5);

			sprintf(ritem->pString[0], "%d", pInfo->BoardListInfo[i].Seq);

			tempsubject[0] = 0;
			for(int n=0;n<pInfo->BoardListInfo[i].Depth;++n)
			{
				int len = strlen(tempsubject);
				if(len < MAX_REPORTTEXT_SIZE - 10)		// 呈公 腹捞 甸咯静扁 窍瘤 臼档废 茄促.
					strcat(tempsubject,"  ");
			}
			int len = strlen(tempsubject);
			int remainlen = 25 - len;//MAX_REPORTTEXT_SIZE - len - 1;
			strncpy(&tempsubject[len],pInfo->BoardListInfo[i].Subject,remainlen);
			tempsubject[len+remainlen] = 0;
			strcpy(ritem->pString[1], tempsubject);
			strcpy(ritem->pString[2], pInfo->BoardListInfo[i].WriterName);
			sprintf(ritem->pString[3], "%d", pInfo->BoardListInfo[i].Count);
			sprintf(ritem->pString[4], "%s",pInfo->BoardListInfo[i].RegDate);

			ritem->dwID = pInfo->BoardListInfo[i].WritingsIDX;
			m_pMBL_SubjectList->InsertItem(i, ritem);
		}
	}
}

void CMunpaDialog::GetCheckedIDs(int count,cCheckBox*pChkBtnArray[],cListCtrl* pListCtrl,DWORD* pOutIDs)
{
	memset(pOutIDs,0,sizeof(DWORD)*count);
	for(int i=0; i<count; ++i)
	{	
		cCheckBox* Chk = pChkBtnArray[i];
		
		if(Chk->IsChecked())
		{
			cRITEMEx * rItem = (cRITEMEx *)pListCtrl->GetRItem(i);
			if(!rItem)
				return;	
			if(rItem->dwID)
			{
				pOutIDs[i] = rItem->dwID;
			}
		}
	}
}

void CMunpaDialog::CheckedAccept()
{
	DWORD IDs[MAX_MUNPA_SEMIMEMBERLIST_NUM];
	SelectedMembersIDChk(MAX_MUNPA_SEMIMEMBERLIST_NUM,MUN_MMGEMEMBER1CHK,m_pMgeSemiMembersLCtrl,IDs);
	
	int lastidx = MAX_MUNPA_SEMIMEMBERLIST_NUM;
	for(int i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
	{
		if(IDs[i] != 0)
			lastidx = i;
	}

	for(i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
	{
		if(IDs[i] != 0)
		{
			BOOL bLast;
			if(i==lastidx)
				bLast = TRUE;
			else
				bLast = FALSE;
			MUNPAMGR->AddMemberSyn(IDs[i],bLast);
		}
	}
}

void CMunpaDialog::CheckedDeny()
{	
	DWORD IDs[MAX_MUNPA_SEMIMEMBERLIST_NUM];
	SelectedMembersIDChk(MAX_MUNPA_SEMIMEMBERLIST_NUM,MUN_MMGEMEMBER1CHK,m_pMgeSemiMembersLCtrl,IDs);
	
	int lastidx = MAX_MUNPA_SEMIMEMBERLIST_NUM;
	for(int i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
	{
		if(IDs[i] != 0)
			lastidx = i;
	}

	for(i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
	{
		if(IDs[i] != 0)
		{
			BOOL bLast;
			if(i==lastidx)
				bLast = TRUE;
			else
				bLast = FALSE;
			MUNPAMGR->DenyMemberSyn(IDs[i],bLast);
		}
	}
}

BOOL CMunpaDialog::CheckedChangeRank(DWORD Rank)
{
	BOOL state = FALSE;

⌨️ 快捷键说明

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