Example #1
0
void CTerrainEditorDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialogEx::OnSize(nType, cx, cy);

	if(m_HeightDlg.m_hWnd!=NULL&&m_TerrainTexDlg.m_hWnd!=NULL&&m_TerrainGrassDlg.m_hWnd!=NULL)
		SetCtrlPos();
}
Example #2
0
void CModifyDlg::CreateCtrl()
{
	CRect rcClient;
	GetClientRect(&rcClient);
	int top = rcClient.top + TOPINCREMENT;
	int Left = rcClient.left + LEFTINCREMENT;
	CRect CTRRECT;

	if (PUBLIC == m_tableType || INCODE == m_tableType){
		for (int i = 0;i < m_vHead.size();i++){
			CStatic *Static = new CStatic;
			CTRRECT = SetCtrlPos(Left,top,88,CTRLHEIGHT);
			Static->Create(m_vHead[i],WS_CHILD|WS_VISIBLE,CTRRECT,this);
			Static->SetFont(GetFont());
			Left += 88 + HINCREMENT;
			CEdit *Edit = new CEdit;
			CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
			Edit->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_MODIFY_EDIT);
			Edit->SetFont(GetFont());
			Edit->SetWindowText(m_vData[i]);
			top += VINCREMENT + CTRLHEIGHT ;
			Left = rcClient.left + LEFTINCREMENT;

			if (i == 0){
				Static->EnableWindow(FALSE);
				Edit->EnableWindow(FALSE);
			}
			if (i == m_vHead.size()-1 && INCODE == m_tableType)
			{
				CStatic *Static1 = new CStatic;
				CTRRECT = SetCtrlPos(Left,top,450,CTRLHEIGHT);
				Static1->Create("调度规则 1:最大空闲时间调度 2:最短会话时间调度 3:最高优先级调度",WS_CHILD|WS_VISIBLE,CTRRECT,this);
				Static1->SetFont(GetFont());
				m_StaticObject.push_back(Static1);
			}
			m_StaticObject.push_back(Static);
			m_EidtObject.push_back(Edit);
		}
	}
	if (TP == m_tableType) SetTPRuleCtrl();
}
Example #3
0
void CModifyDlg::SetTPRuleCtrl()
{
	CRect rcClient;
	GetClientRect(&rcClient);
	int top = rcClient.top + TOPINCREMENT;
	int Left = rcClient.left + LEFTINCREMENT;

	CStatic *Static0= new CStatic;
	CRect CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static0->Create("路由规则ID",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static0->EnableWindow(FALSE);
	Static0->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CEdit *Edit0 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
	Edit0->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit0->EnableWindow(FALSE);
	Edit0->SetFont(GetFont());
	Edit0->SetWindowText(m_vData[0]);
	top += CTRLHEIGHT + VINCREMENT;
	Left = rcClient.left + LEFTINCREMENT;

	CStatic *Static1= new CStatic;
	CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static1->Create("路由名称",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static1->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CEdit *Edit1 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
	Edit1->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit1->SetFont(GetFont());
	Edit1->SetWindowText(m_vData[2]);
	top += CTRLHEIGHT + VINCREMENT;

	Left = rcClient.left + LEFTINCREMENT;
	CStatic *Static2 = new CStatic;
	CTRRECT = SetCtrlPos(Left ,top ,88,CTRLHEIGHT);
	Static2->Create("路由类型",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static2->SetFont(GetFont());
	Left+=88 + HINCREMENT;
	CComboBox *Combo1 = new CComboBox;
	CTRRECT = SetCtrlPos(Left,top,380,EDITHEIGHT*5);
	Combo1->Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_TABSTOP|CBS_DROPDOWNLIST,CTRRECT,this,IDC_COMBOX1);
	Combo1->SetFont(GetFont());
	Combo1->AddString("时间路由");
	Combo1->AddString("问题路由");
	Combo1->AddString("接口路由");
	Combo1->AddString("直接客服");
	//Combo1->AddString("扩展路由");
	int cursel = UnTransToTpRule(m_vData[1]) - 1;
	Combo1->SetCurSel(cursel);
	top += CTRLHEIGHT + VINCREMENT;

	CStatic *Static3 = new CStatic();
	Left = rcClient.left + LEFTINCREMENT;
	CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static3->Create("起始时间",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static3->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CDateTimeCtrl* Datetime1 = new CDateTimeCtrl;
	CTRRECT = SetCtrlPos(Left,top-3 ,90,EDITHEIGHT);
	Datetime1->Create(WS_CHILD|WS_VISIBLE|DTS_TIMEFORMAT,CTRRECT,this,IDC_DATETIMEPICKER1);
	if(m_vData[3].IsEmpty())m_vData[3] ="0:0:0";
	COleVariant vtime(m_vData[3]);
	vtime.ChangeType(VT_DATE);
	COleDateTime oletime = vtime;
	Datetime1->SetTime(oletime);
	Left += 90 + HINCREMENT;

	CStatic *Static4 = new CStatic();
	CTRRECT = SetCtrlPos(Left,top ,55,CTRLHEIGHT);
	Static4->Create("时间间隔",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static4->SetFont(GetFont());
	Left += 55 + HINCREMENT;
	CEdit *Edit2 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,215,EDITHEIGHT);
	Edit2->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit2->SetFont(GetFont());
	Edit2->SetWindowText(m_vData[4]);

	top += CTRLHEIGHT + VINCREMENT;
	Left = rcClient.left + LEFTINCREMENT;
	CStatic *Static5 = new CStatic();
	CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static5->Create("问题路由类型",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static5->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CEdit *Edit3 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
	Edit3->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit3->SetFont(GetFont());
	Edit3->SetWindowText(m_vData[5]);

	top += CTRLHEIGHT + VINCREMENT;
	Left = rcClient.left + LEFTINCREMENT;
	CStatic *Static6 = new CStatic();
	CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static6->Create("接口名称",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static6->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CEdit *Edit4 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
	Edit4->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit4->SetFont(GetFont());
	Edit4->SetWindowText(m_vData[6]);

	top += CTRLHEIGHT + VINCREMENT;
	Left = rcClient.left + LEFTINCREMENT;
	CStatic *Static7 = new CStatic();
	CTRRECT = SetCtrlPos(Left,top ,88,CTRLHEIGHT);
	Static7->Create("客服工号",WS_CHILD|WS_VISIBLE,CTRRECT,this);
	Static7->SetFont(GetFont());
	Left += 88 + HINCREMENT;
	CEdit *Edit5 = new CEdit;
	CTRRECT = SetCtrlPos(Left,top - 3,380,EDITHEIGHT);
	Edit5->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_MULTILINE|ES_AUTOVSCROLL,CTRRECT,this,IDC_EDIT1);
	Edit5->SetFont(GetFont());
	Edit5->SetWindowText(m_vData[7]);

	m_StaticObject.push_back(Static1);
	m_StaticObject.push_back(Static2);
	m_StaticObject.push_back(Static3);
	
	m_EidtObject.push_back(Edit1);
	m_ComboObject.push_back(Combo1);

	m_StaticObject.push_back(Static4);//时间路由
	m_EidtObject.push_back(Edit2);    
	m_DatetimeObject.push_back(Datetime1);

	m_StaticObject.push_back(Static5);//问题路由
	m_EidtObject.push_back(Edit3);

	m_StaticObject.push_back(Static6); //接口路由
	m_EidtObject.push_back(Edit4);

	m_StaticObject.push_back(Static7);//直接客服路由
	m_EidtObject.push_back(Edit5);

	m_StaticObject.push_back(Static0);
	m_EidtObject.push_back(Edit0);

	IsShowCtrl();

}
Example #4
0
void CTerrainEditorDlg::SetCtrlPos()
{
	CRect rcClient;
	GetClientRect(rcClient);
	int cx=rcClient.Width(),cy=rcClient.Height();

	SCROLLINFO si;
	si.cbSize=sizeof(si);

	// Set Horizontal Scrollbar Info
	GetScrollInfo(SB_HORZ,&si);
	si.nMin=0;
	if(cx<=DLG_MINWIDTH)
	{
		si.nPage=cx;
		si.nMax=DLG_MINWIDTH;
	}
	else
	{
		si.nPage=cx+1;
		si.nMax=cx;
	}
	if(si.nMax<=(int)si.nPage) si.nPos=0;
	else if(si.nPos>si.nMax-(int)si.nPage) si.nPos=si.nMax-si.nPage;
	int xPos=si.nPos;
	si.fMask=SIF_PAGE|SIF_RANGE|SIF_POS;
	SetScrollInfo(SB_HORZ,&si);

	// Get Sub Dialog Info
	int height=0;
	CRect rc;
	m_HeightDlg.GetClientRect(rc);
	height+=rc.Height()+1;
	m_TerrainTexDlg.GetClientRect(rc);
	height+=rc.Height()+1;
	m_TerrainGrassDlg.GetClientRect(rc);
	height+=rc.Height()+1;
	m_TerrainWaterDlg.GetClientRect(rc);
	height+=rc.Height()+1;

	// Set Vertical Scrollbar Info
	GetScrollInfo(SB_VERT,&si);
	si.nPage=cy;
	si.nMax=height;
	if((int)si.nPage>=si.nMax) si.nPos=0;
	else if(si.nPos>si.nMax-(int)si.nPage) si.nPos=si.nMax-si.nPage;
	int yPos=si.nPos;
	si.fMask=SIF_PAGE|SIF_RANGE|SIF_POS;
	SetScrollInfo(SB_VERT,&si);

	int width=cx>DLG_MINWIDTH?cx:DLG_MINWIDTH;

	GetClientRect(rc);
	if(rc.Width()!=cx||rc.Height()!=cy) SetCtrlPos();
	else
	{
		// Set Ctrl Pos
		int top=0;
		CRect rcCtrl;

		m_HeightDlg.GetClientRect(rc);
		rcCtrl.SetRect(0,top,width,rc.Height());
		rcCtrl.OffsetRect(-xPos,-yPos);
		m_HeightDlg.MoveWindow(rcCtrl);
		top+=rc.Height()+1;

		m_TerrainTexDlg.GetClientRect(rc);
		rcCtrl.SetRect(0,top,width,top+rc.Height());
		rcCtrl.OffsetRect(-xPos,-yPos);
		m_TerrainTexDlg.MoveWindow(rcCtrl);
		top+=rc.Height()+1;

		m_TerrainGrassDlg.GetClientRect(rc);
		rcCtrl.SetRect(0,top,width,top+rc.Height());
		rcCtrl.OffsetRect(-xPos,-yPos);
		m_TerrainGrassDlg.MoveWindow(rcCtrl);
		top+=rc.Height()+1;

		m_TerrainWaterDlg.GetClientRect(rc);
		rcCtrl.SetRect(0,top,width,top+rc.Height());
		rcCtrl.OffsetRect(-xPos,-yPos);
		m_TerrainWaterDlg.MoveWindow(rcCtrl);
		top+=rc.Height()+1;
	}
}