Beispiel #1
0
void RichEdit::LeftRepeat(Point p, dword flags)
{
	NextUndo();
	if(HasCapture() && (flags & K_MOUSELEFT)) {
		if(p.y < 0)
			MoveUpDown(-1, true);
		if(p.y > GetSize().cy)
			MoveUpDown(1, true);
	}
}
void
MoveUpDownSettingDialog::OnInitDialog(wxInitDialogEvent &e)
{
    wxDialog::OnInitDialog(e);
    wxSizer* sizer = MoveUpDown(this, true, true);

    /// 获取各控件的引用
    mSpinCtrl = wxDynamicCast(this->FindWindow(ID_SPINCTRL),wxSpinCtrl);
}
Beispiel #3
0
void LineEdit::MovePage(int dir, bool sel) {
	int n = dir * max(GetSize().cy / GetFontSize().cy - 2, 2);
	sb.SetY(Point(sb).y + n);
	MoveUpDown(n, sel);
}
Beispiel #4
0
void LineEdit::MoveDown(bool sel) {
	MoveUpDown(1, sel);
}
Beispiel #5
0
void LineEdit::MoveUp(bool sel) {
	MoveUpDown(-1, sel);
}
/********************************************************************************
 Update
 ********************************************************************************/
void CPlayInfo3PV::Update(double dt)
{
	// WASD movement
	if ( myKeys['w'] == true)
	{
		MoveFrontBack( false, dt );
	}
	else
	{
//		MoveVel_W = 0.0f;
	}
	if (myKeys['s'] == true)
	{
		MoveFrontBack( true, dt );
	}
	else
	{
//		MoveVel_S = 0.0f;
	}
	if (myKeys['a'] == true)
	{
		MoveLeftRight( true, dt );
	}
	else
	{
//		MoveVel_A = 0.0f;
	}
	if (myKeys['d'] == true)
	{
		MoveLeftRight( false, dt );
	}
	else
	{
//		MoveVel_D = 0.0f;
	}

	if (myKeys['q'])
	{
		MoveUpDown(true, dt);
	}
	if (myKeys['e'])
	{
		MoveUpDown(false, dt);
	}

	// Rotation
	/*
	if ( myKeys[VK_UP] == true)
	{
		LookUp( dt );
	}
	if (myKeys[VK_DOWN] == true)
	{
		LookUp( -dt );
	}
	if (myKeys[VK_LEFT] == true)
	{
		TurnLeft( -dt );
	}
	if (myKeys[VK_RIGHT] == true)
	{
		TurnRight( dt );
	}

	// Jump
	if (myKeys[32] == true)
	{
		Jump( dt );
		myKeys[32]	= false;
	}
	UpdateJump(dt);

	//Update the camera direction based on mouse move
	// left-right rotate
	if ( Application::camera_yaw != 0 )
		Yaw( dt );
	if ( Application::camera_pitch != 0 )
		Pitch( dt );

	if(Application::IsKeyPressed('R'))
	{
		Reset();
	}
	*/
}
void CSimplePanelDlg::ChangeLine()
{
	int nLineCount = m_vecData.size();
	m_nIndexShow++;
	if((m_nIndexShow * 6 > nLineCount) || (m_nIndexShow * 6 - nLineCount == 0))
		m_nIndexShow = 0;

	if(nLineCount <= 6)
		return;

	//先计算当前有多少条线路要翻页的
	int nTmpMemDCCount = 6;
	nLineCount % 4 == 0 ? nTmpMemDCCount : nTmpMemDCCount = nLineCount % 6;

	CDC* pDC = GetDC();

	//创建临时的内存画布
	vector<CEsayMemDC*> vecTemMemDC;
	for(int ii = 0; ii < nTmpMemDCCount; ii++)
	{
		CEsayMemDC* pMemDC = m_vecMemDC[ii];
		CEsayMemDC* pTmpMemDC = new CEsayMemDC(*pDC, pMemDC->GetMemRect());
		vecTemMemDC.push_back(pTmpMemDC);
	}

	//将下一页的数据画到内存画布中

	for(int ii = 0; ii < nTmpMemDCCount; ii++)
	{
		CData* pData = m_vecData[ii+m_nIndexShow*6];
		vector<BusArrivalInfo> vecArrive;
		pData->GetBusInfo(vecArrive);

		CEsayMemDC* pTmpMemDC = vecTemMemDC[ii];
		Gdiplus::Graphics gr(pTmpMemDC->GetDC());

		DrawArrive(gr, vecArrive, pTmpMemDC->GetMemRect(), pData);
	}


	//两张画布切换动画
	for(int ii = 0; ii < nTmpMemDCCount; ii++)
	{
		CEsayMemDC* pMemDC = m_vecMemDC[ii];
		CEsayMemDC* pTmpMemDC = vecTemMemDC[ii];

		CRect rc(0, 0, pMemDC->GetMemRect().Width(), pMemDC->GetMemRect().Height());

		MoveUpDown(&pMemDC->GetDC(), &pTmpMemDC->GetDC(), pMemDC->GetMemRect(), pDC);

		//pMemDC->BltMem(*pDC);


		//pTmpMemDC->BltMem(*pDC);

		delete pTmpMemDC;
	}

	//将临时的内存画布更新到原本的内存画布中

	ReleaseDC(pDC);

}