Member 13927859 Ответов: 0

Добавление элементов дерева в элемент дерева на основе шага аутентификации


Здравствуйте , у меня есть проблема, описанная ниже :
У меня есть treeview в левой панели и правой панели для отображения различных представлений, связанных с щелкнутыми элементами дерева.
Во-первых :только один элемент true должен отображаться в левой панели.затем ,выполнив шаг проверки подлинности, другие элементы дерева должны быть добавлены к первому элементу дерева .
таким образом , при нажатии на элемент дерева "Connecter" в правой панели отображается представление :шаг аутентификации , при проверке имени пользователя и PSW , другие элементы дерева добавляются в левую панель.
представление аутентификации предназначено для класса CForm :
Моя проблема заключается в том , что при проверке шага аутентификации другой элемент дерева не был добавлен в левую панель .
Я пытаюсь с помощью глобальной переменной получить уведомление о шаге аутентификации , а затем на его основе покажу все элементы дерева или только первый элемент.

Что я уже пробовал:

//<pre>CConnecterView.cpp

void CConnecterView::OnInitialUpdate()
{
	CTreeView::OnInitialUpdate();
	globalVar= false;
	UpdateData(TRUE);
	CTreeCtrl& tc = GetTreeCtrl();
	//CTreeCtrl& tc1 = GetTreeCtrl();
	// Set tree control styles
	//globalVar = false;
	long style = GetWindowLong(tc.m_hWnd, GWL_STYLE);
	style |= (TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS |
		TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP);
	SetWindowLong(tc.m_hWnd, GWL_STYLE, style);
	HTREEITEM m_hCoonecter;
	HTREEITEM m_hDefault;
	//HTREEITEM m_hdeconnecter;
	m_hDefault = tc.InsertItem(_T(""), TVI_ROOT);
	m_hCoonecter = tc.InsertItem(_T("Connecter"), TVI_ROOT);

	if (!globalVar)
	{
		HTREEITEM hM, hML, hMNL, hIns, hEn, hMoy, hMax, hCon, hExT, hRe, hCaT, hSAc, hSPa, hJFe, hHor, hFac, hGPe, hGPr, hCDC, hCoupures, hSur, hHisOuverture, hHisDépassementTempérature, hHisMiseTerre, hLogResetsHis, hAff, hCom, hCléAESGCM, hCléCrypAUTHGCM, hParPhyPortLocal, hHDLCPortLocal, hParPhyPortSerie, hParHDLCPortSerie, hImporter, hExporter, hImprimer;
		//Métrologie
		hM = tc.InsertItem(_T("Métrologie"), TVI_ROOT);
		hML = tc.InsertItem(_T("Métrologie Légale"), hM);
		hMNL = tc.InsertItem(_T("Métrologie Non Légale"), hM);
		//Métrologie légale
		hIns = tc.InsertItem(_T("Instantanées"), hML);
		hEn = tc.InsertItem(_T("Energies"), hML);
		//Métrologie Non légale
		hMoy = tc.InsertItem(_T("Moyennes"), hMNL);
		hMax = tc.InsertItem(_T("Maximas"), hMNL);
		hCon = tc.InsertItem(_T("Contrat "), hMNL);
		hExT = tc.InsertItem(_T("Excursion de tension"), hMNL);
		//Relais
		hRe = tc.InsertItem(_T("Relais"), TVI_ROOT);

		//Calendrier Tarifaire
		hCaT = tc.InsertItem(_T("Calendrier Tarifaire "), TVI_ROOT);
		hSAc = tc.InsertItem(_T("Structure Active"), hCaT);
		hSPa = tc.InsertItem(_T("Structure Passive"), hCaT);
		hJFe = tc.InsertItem(_T("Jours Fériés"), hCaT);
		//Horodate
		hHor = tc.InsertItem(_T("Horodate "), TVI_ROOT);
		//Facturetion
		hFac = tc.InsertItem(_T("Facturation "), TVI_ROOT);
		hGPe = tc.InsertItem(_T("Glissement periodique "), hFac);
		hGPr = tc.InsertItem(_T("Glissement programmé "), hFac);
		hCDC = tc.InsertItem(_T("Courbe de cahrge "), hFac);
		hCoupures = tc.InsertItem(_T("Coupures "), hFac);
		//Surveillance
		hSur = tc.InsertItem(_T("Surveillance "), TVI_ROOT);
		hHisOuverture = tc.InsertItem(_T("Historique d'Ouverture "), hSur);
		hHisDépassementTempérature = tc.InsertItem(_T("Historique de Dépassement de la Température "), hSur);
		hHisMiseTerre = tc.InsertItem(_T("Historique de mise à terre "), hSur);
		hLogResetsHis = tc.InsertItem(_T("Log des Resets des historiques "), hSur);

		//Affichage
		hAff = tc.InsertItem(_T("Afficahge "), TVI_ROOT);
		//Communication
		hCom = tc.InsertItem(_T("Security policy "), TVI_ROOT);
		hCléAESGCM = tc.InsertItem(_T("CléAES/GCM "), hCom);
		hCléCrypAUTHGCM = tc.InsertItem(_T("Clé Crypto AUTH pour GCM "), hCom);
		hParPhyPortLocal = tc.InsertItem(_T("Paramètres physiques du port local "), hCom);
		hHDLCPortLocal = tc.InsertItem(_T("Paramètres HDLC du port local "), hCom);
		hParPhyPortSerie = tc.InsertItem(_T("Paramètres physiques du port série "), hCom);
		hParHDLCPortSerie = tc.InsertItem(_T("Paramètres HDLC du port série"), hCom);

		hImporter = tc.InsertItem(_T("Importer "), TVI_ROOT);
		hExporter = tc.InsertItem(_T("Exporter "), TVI_ROOT);
		hImprimer = tc.InsertItem(_T("Imprimer "), TVI_ROOT);
		

    UpdateData(FALSE);
	}
}
#endif //_DEBUG




// CForm.cpp
void CForm::OnBnClickedButton1()
{
	UpdateData(TRUE);
	CMainFrame *pMainFrame = (CMainFrame*)AfxGetMainWnd();


	if (m_User_Login == "admin" && m_User_Psw == "admin")
	{
		globalVar ;
		//pMainFrame->pTreeView->m_ctrlTree.Update();
		//UpdateData(TRUE);
	}
	UpdateData(FALSE);
}

Richard MacCutchan

Вам нужно отправить сообщение в TreeView, чтобы сообщить ему об обновлении своего содержимого.

А заявление globalVar ; это ничего не значит.

0 Ответов