コード例 #1
0
ファイル: GuiOutLook.cpp プロジェクト: maerson/mystkproj
void CGuiOutLook::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CClientDC dc(this);
	//------------------------------
	if (m_iDrawFrameUp==TRUE)
	{
		if (m_rectArrowUp.PtInRect(point))
		{
			m_Avance+=50;		
			RecalLayout();		
		}
		else
			dc.DrawFrameControl(m_rectArrowUp,DFC_SCROLL,DFCS_SCROLLUP);
	}
	//-----------------------------
	if (m_iDrawFrameDown==TRUE)
	{
		if (m_rectArrowDown.PtInRect(point))
		{
			m_Avance-=50;
			RecalLayout();
		}
		else
			dc.DrawFrameControl(m_rectArrowDown,DFC_SCROLL,DFCS_SCROLLDOWN);
	}
	//------------------------------
	CWnd::OnLButtonUp(nFlags, point);
}
コード例 #2
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// OnLButtonDown
//---------------------------------------------------------------------------
void CRollupCtrl::OnLButtonDown(UINT nFlags, CPoint point) 
{
	CRect r; GetClientRect(&r);
	if (m_PageHeight>r.Height())
	{

		//Click on scroll bar client rect
		CRect br = CRect(r.right-RC_SCROLLBARWIDTH,r.top, r.right, r.bottom);
		if ((nFlags&MK_LBUTTON) && br.PtInRect(point)) {

			SetCapture();

			int ClientHeight	= r.Height()-4;

			int SB_Size = ClientHeight-(((m_PageHeight-r.Height())*ClientHeight)/m_PageHeight);
			int	SB_Pos	= -(m_StartYPos*ClientHeight)/m_PageHeight;

			//Click inside scrollbar cursor
			if ((point.y<(SB_Pos+SB_Size)) && (point.y>SB_Pos)) {

				m_SBOffset = SB_Pos-point.y+1;

			//Click outside scrollbar cursor (2 cases => above or below cursor)
			} else {
				int distup		= point.y-SB_Pos;	
				int distdown	= (SB_Pos+SB_Size)-point.y;
				if (distup<distdown)	m_SBOffset = 0;					//above
				else									m_SBOffset = -SB_Size;	//below
			}

			//Calc new m_StartYPos from mouse pos
			int TargetPos	= point.y + m_SBOffset;
			m_StartYPos=-(TargetPos*m_PageHeight)/(ClientHeight);

			//Update
			RecalLayout();
		}


		//Click on scroll bar up button
		br = CRect(r.right-RC_SCROLLBARWIDTH,r.top, r.right, r.top);
		if ((nFlags&MK_LBUTTON) && br.PtInRect(point)) {
			m_StartYPos+=32;
			RecalLayout();
		}

		//Click on scroll bar down button
		br = CRect(r.right-RC_SCROLLBARWIDTH,r.bottom, r.right, r.bottom);
		if ((nFlags&MK_LBUTTON) && br.PtInRect(point)) {
			m_StartYPos-=32;
			RecalLayout();
		}
	}

	CWnd::OnLButtonDown(nFlags, point);
}
コード例 #3
0
ファイル: GuiPanelAccess.cpp プロジェクト: darwinbeing/trade
void  CGuiPanelAccess::OnUp()
{
	m_nDif++;
	m_PressDown=FALSE;
	m_PressUp=TRUE;
	RecalLayout();
}
コード例 #4
0
ファイル: GuiPanelAccess.cpp プロジェクト: darwinbeing/trade
void  CGuiPanelAccess::OnDownd()
{
	m_nDif--;
	m_PressDown=TRUE;
	m_PressUp=FALSE;
	RecalLayout();
}
コード例 #5
0
ファイル: CContainer.cpp プロジェクト: axxapp/winxgui
void CContainer::DeleteTab(int m_numtab)
{
	if (m_numtab < m_Numtabs)
	{
		CTab* ctn=(CTab*) m_pArray[m_numtab]; 	
		if (m_alnTab!=ALN_TOP)
			ASSERT(ctn->pParent);
		if (ctn)
			delete ctn;
		m_Numtabs--;
		m_pArray.RemoveAt(m_numtab,1);
		if (m_Numtabs >0)
		{
			if (m_iSelectTab == m_numtab)
			{
				m_iSelectTab=m_iSelectTab-1;
				if (m_iSelectTab< 0) m_iSelectTab=0;
				CTab* ctn =(CTab*) m_pArray[m_iSelectTab];
				CWin* pParentNew=ctn->pParent;
				ASSERT(pParentNew);
				pParentNew->ShowWindow(SW_SHOW);
			}
			else
			{
				if (m_iSelectTab > m_numtab)
				{
					m_iSelectTab--;
				}
			}
			
			RecalLayout();
		}
		
	}
}
コード例 #6
0
ファイル: CContainer.cpp プロジェクト: axxapp/winxgui
void CContainer::Addtab(CWin* pParent, LPCSTR lpMsg, UINT uHmenu)
{
	ASSERT(pParent);
	
			
	m_pArray.SetAtGrow(m_Numtabs,new CTab(pParent,lpMsg, uHmenu));
	if (m_Numtabs==0)
	{
		pParent->ShowWindow(SW_SHOW);
		m_iSelectTab=0;
	}
	else
	{
		pParent->ShowWindow(SW_SHOW);
		CTab* ctn=(CTab*) m_pArray[m_iSelectTab]; 	
		ctn->pParent->ShowWindow(SW_HIDE);
		pParent->SetFocus();
	}
	m_iSelectTab=m_Numtabs;
	CTab* ctn=(CTab*) m_pArray[m_iSelectTab]; 	
	m_Numtabs++;
		
	//if (m_style == S3D)
	CToolTip.AddTool(GetSafeHwnd(),ctn->lpMsg,CRect(0,0,0,0),m_Numtabs);
	RecalLayout();
}
コード例 #7
0
void CGuiMiniSplitter::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	RecalLayout();
	// TODO: Add your message handler code here
	
}
コード例 #8
0
void CGuiStaticStandar::OnSize(UINT nType, int cx, int cy) 
{
	CStatic::OnSize(nType, cx, cy);
	RecalLayout();
	// TODO: Add your message handler code here
	
}
コード例 #9
0
ファイル: COutLook.cpp プロジェクト: weimingtom/swc
void  COutLook::AddItem(UINT Cmd,LPCSTR m_szCaption,int nIndex,LPCSTR m_ToolTip)
{
	m_ArrayButtons.SetAtGrow(m_NumBottoms, new CItems
			(this,m_imageList.ExtractIcon(nIndex),Cmd, m_szCaption,m_ToolTip,m_TypeOutLook));
	m_NumBottoms++;
	RecalLayout();
}
コード例 #10
0
ファイル: RollupCtrl.cpp プロジェクト: galek/erbiqingnian
void CRollupCtrl::ExpandPage(int idx, BOOL bExpand,BOOL bScroll,BOOL bFromUI)
{
	if (!FindPage(idx))
		return;

	//Expand-collapse
	_ExpandPage( FindPage(idx), bExpand,bFromUI);

	//Update
	RecalLayout();

	//Scroll to this page (Automatic page visibility)
	if (bExpand && bScroll)
		ScrollToPage(idx, FALSE);

	if (GetOwner())
	{
		CRollupCtrlNotify n;
		n.hdr.hwndFrom = m_hWnd;
		n.hdr.idFrom = GetDlgCtrlID();
		n.hdr.code = ROLLUPCTRLN_EXPAND;
		n.nPageId = idx;
		n.bExpand = bExpand == TRUE;

		GetOwner()->SendMessage( WM_NOTIFY,(WPARAM)GetDlgCtrlID(),(LPARAM)&n );
	}
}
コード例 #11
0
ファイル: RollupCtrl.cpp プロジェクト: galek/erbiqingnian
void CRollupCtrl::RemoveAllPages()
{
	for (; m_PageList.size();)
		_RemovePage( m_PageList[0]->id );

	RecalLayout();
}
コード例 #12
0
ファイル: GuiFolder.cpp プロジェクト: darwinbeing/trade
void CGuiFolder::DeleteFolder(int m_iNumFolder)
{
	/* Modified By SunZhenyu 2003/8/22, replace all function lines. */
	if (m_iNumFolder >= 0 && m_iNumFolder < m_NumFolders)
	{
		m_NumFolders--;
		CFolderBar * p = (CFolderBar *)m_ArrayFolder.GetAt(m_iNumFolder);
		if( p )	delete	p;
		m_ArrayFolder.RemoveAt(m_iNumFolder);

		if (m_iNumFolder == 0 || m_iNumFolder < m_NumFolders)
			m_iSelected=m_iNumFolder;
		else if(m_iNumFolder > 0)
			m_iSelected=m_iNumFolder-1;
		RecalLayout();
	}
	/*
	if (m_iNumFolder < m_NumFolders)
	{
		m_iNumFolder--;
		m_ArrayFolder.RemoveAt(m_iNumFolder,m_NumFolders);
		if (m_iNumFolder == 0 || m_iNumFolder == m_iNumFolder)
			m_iSelected=m_iNumFolder;
		else if(m_iNumFolder > 0)
			m_iSelected=m_iNumFolder-1;
		RecalLayout();
	}
	*/
}
コード例 #13
0
ファイル: GuiTabWnd.cpp プロジェクト: darwinbeing/trade
void CGuiTabWnd::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	if (m_Numtabs > 0)
		RecalLayout();
	
}
コード例 #14
0
ファイル: GuiFolder.cpp プロジェクト: ZhaoboMeng/k-line-print
void CGuiFolder::DeleteFolder(int m_iNumFolder, BOOL bUpdate)
{
	if (m_iNumFolder < m_NumFolders)
	{
		if (bUpdate && m_iNumFolder == m_NumFolders -1)
			SelectFolder(0);
		if (m_iNumFolder == m_iSelected && m_iNumFolder != 0)
		{
			SelectFolder(1);
			m_iSelected = 1;
		}
		CFolderBar* pBar = (CFolderBar*)m_ArrayFolder.GetAt(m_iNumFolder); 
		m_ArrayFolder.RemoveAt(m_iNumFolder,1);
		delete pBar;
		m_NumFolders--;
		if (m_iNumFolder == m_NumFolders)
			m_iSelected = m_iNumFolder - 1;
		if (m_iNumFolder == 0)
			m_iSelected = m_NumFolders - 1;
		else if(m_iNumFolder > 0)
			m_iSelected = m_iNumFolder - 1;
		if (bUpdate) 
		{
			int OldSel = m_iSelected;
			RecalLayout();
			SelectFolder(0);
			SelectFolder(m_NumFolders - 1);
			SelectFolder(OldSel);
		}
	}
}
コード例 #15
0
ファイル: GuiEdit.cpp プロジェクト: ZhaoboMeng/k-line-print
void CGuiEdit::OnSize(UINT nType, int cx, int cy) 
{
	CEdit::OnSize(nType, cx, cy);
	RecalLayout();	
	// TODO: Add your message handler code here
	
}
コード例 #16
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// OnMouseWheel
//---------------------------------------------------------------------------
BOOL CRollupCtrl::OnMouseWheel( UINT nFlags, short zDelta, CPoint pt)
{
	m_StartYPos+=(zDelta/4);
	RecalLayout();

	return CWnd::OnMouseWheel(nFlags, zDelta, pt);
}
コード例 #17
0
ファイル: GuiTabWnd.cpp プロジェクト: darwinbeing/trade
void CGuiTabWnd::DeleteTab(int m_numtab)
{
	if (m_numtab < m_Numtabs)
	{
		CGuiTab* ctn=(CGuiTab*) m_pArray[m_numtab]; 	
		CWnd* pParen=ctn->pParent;
		if (m_alnTab!=ALN_TOP)
			ASSERT_VALID(pParen);
		m_Numtabs--;
		/* Modified By SunZhenyu 2003/8/22, Add next 1 lines. */
		delete	ctn;
		m_pArray.RemoveAt(m_numtab,1);
		if (m_Numtabs >0)
		{
			if (m_iSelectTab == m_numtab)
			{
				m_iSelectTab=0;
				CGuiTab* ctn =(CGuiTab*) m_pArray[m_iSelectTab];
				CWnd* pParentNew=ctn->pParent;
				ASSERT_VALID(pParentNew);
				pParentNew->ShowWindow(SW_SHOW);
			}
			RecalLayout();
		}
		
	}
}
コード例 #18
0
void CGuiMiniSplitter::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CRect m_rectCli;
	GetClientRect(m_rectCli);
    if (bIniciaArrastre==TRUE)
    {
		m_rcSplitterOld=m_rcSplitter;
		if (point.x < m_rectCli.left+50) 
			m_rcSplitter.left=50;
		else if (point.x >m_rectCli.right-50)
			m_rcSplitter.left=m_rectCli.right-55;
		else 
		{
			m_rcSplitter.left=	point.x;
			m_rcSplitter.right=point.x+3;
		}
		CClientDC dc(this);
		
		DrawSplitter(m_rcSplitter,&dc);
		InvalidateRect(m_rcSplitterOld);
		RecalLayout();
	}
	else
		CWnd::OnMouseMove(nFlags, point);
}
コード例 #19
0
ファイル: RollupCtrl.cpp プロジェクト: galek/erbiqingnian
int CRollupCtrl::MovePageAt(int id, int newidx)
{
	if (!FindPage(id)) return -1;
	int idx = FindPageIndex(id);
	if (idx==newidx) return -1;

	if (newidx>0 && newidx>= (int)m_PageList.size())		newidx=-1;

	//Remove page from its old position
	RC_PAGEINFO* pi = FindPage(id);
	m_PageList.erase( m_PageList.begin() + FindPageIndex(id) );

	//Insert at its new position
	int retidx;
	if (newidx<0)	
	{
		m_PageList.push_back(pi);
		retidx = m_PageList.size()-1;
	}
	else	{ m_PageList.insert( m_PageList.begin()+newidx, pi); retidx=newidx; }


	//Update
	RecalLayout();
	
	return retidx;
}
コード例 #20
0
ファイル: GuiFolder.cpp プロジェクト: darwinbeing/trade
void CGuiFolder::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	if (m_NumFolders > 0)
		RecalLayout();
	// TODO: Add your message handler code here
	
}
コード例 #21
0
ファイル: CContainer.cpp プロジェクト: axxapp/winxgui
BOOL CContainer::OnSize(UINT nType, int cx, int cy) 
{
	if (m_Numtabs > 0)
		RecalLayout();
	Invalidate();
	UpdateWindow();
	return TRUE;
}
コード例 #22
0
ファイル: GuiCapOutBar.cpp プロジェクト: darwinbeing/trade
BOOL  GuiCapOutBar::SetSplitter(CGuiMiniSplitter* m_sppliter)
{
	if (!m_sppliter->Create(this))
		return FALSE;
	m_miniSplitter=m_sppliter;
	RecalLayout();
	return TRUE;
}
コード例 #23
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// Function name	: RemoveAllPages
// Description		:
//---------------------------------------------------------------------------
void CRollupCtrl::RemoveAllPages()
{
	//Remove all
	while (m_PageList.GetSize())	_RemovePage(0);

	//Update
	RecalLayout();
}
コード例 #24
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// Function name	: ExpandAllPages
// Description	  : 
//---------------------------------------------------------------------------
void CRollupCtrl::ExpandAllPages(BOOL bExpand)
{
	//Expand-collapse All
	for (int i=0; i<m_PageList.GetSize(); i++)
		_ExpandPage(m_PageList[i], bExpand);

	//Update
	RecalLayout();
}
コード例 #25
0
ファイル: RollupCtrl.cpp プロジェクト: galek/erbiqingnian
void CRollupCtrl::RemovePage(int idx)
{
	if (!FindPage(idx))
		return;

	_RemovePage(idx);

	RecalLayout();
}
コード例 #26
0
ファイル: RollupCtrl.cpp プロジェクト: galek/erbiqingnian
void CRollupCtrl::ExpandAllPages(BOOL bExpand,BOOL bFromUI)
{
	//Expand-collapse All
	for (size_t i=0; i<m_PageList.size(); i++)
		_ExpandPage(m_PageList[i], bExpand,bFromUI);

	//Update
	RecalLayout();
}
コード例 #27
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// Function name	: EnableAllPages
// Description	  : 
//---------------------------------------------------------------------------
void CRollupCtrl::EnableAllPages(BOOL bEnable)
{
	//Enable-disable All
	for (int i=0; i<m_PageList.GetSize(); i++)
		_EnablePage(m_PageList[i], bEnable);

	//Update
	RecalLayout();
}
コード例 #28
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// Function name	: EnableAutoColumns
// Description	  : ...
//---------------------------------------------------------------------------
void CRollupCtrl::EnableAutoColumns(BOOL bEnable)
{
	if (m_bEnabledAutoColumns!=bEnable)
	{
		m_bEnabledAutoColumns=bEnable;
		RecalLayout();
	}

}
コード例 #29
0
ファイル: GuiCapOutBar.cpp プロジェクト: darwinbeing/trade
BOOL GuiCapOutBar::SetMiniTool(CGuiMiniTool* m_sppliter)
{
	if (!m_sppliter->Create(_T(""),WS_VISIBLE | WS_CHILD |SS_OWNERDRAW, 
						CRect(0,0,0,0), this))
		return FALSE;
	m_MiniTool=m_sppliter;
	RecalLayout();
	return TRUE;
}
コード例 #30
0
ファイル: RollupCtrl.cpp プロジェクト: Spritutu/AiPI-1
//---------------------------------------------------------------------------
// Function name	: _InsertPage
// Description	  : Called by InsertPage(...) methods
//									Return -1 if an error occurs
//---------------------------------------------------------------------------
int CRollupCtrl::_InsertPage(const TCHAR* caption, CDialog* pwndTemplate, int idx, BOOL bAutoDestroyTpl)
{
	ASSERT(pwndTemplate!=NULL);
	ASSERT(pwndTemplate->m_hWnd!=NULL);

 	//Get client rect
	CRect r; GetClientRect(r);

	//Create GroupBox
	CButton* groupbox = new CButton;
	groupbox->Create(_T(""), WS_CHILD|BS_GROUPBOX, r, this, 0 );

	//Create Button
	CButton* but = new CButton;
	but->Create(caption, WS_CHILD|BS_AUTOCHECKBOX|BS_PUSHLIKE|BS_FLAT, r, this, 0 );

	//Change Button's font
	HFONT hfont= (HFONT)::GetStockObject(DEFAULT_GUI_FONT);
	CFont* font = CFont::FromHandle(hfont);
	but->SetFont(font);

	//Add page at pagelist
	RC_PAGEINFO* pi			= new RC_PAGEINFO;
	pi->cstrCaption			= caption;
	pi->bExpanded				= FALSE;
	pi->bEnable					= TRUE;
	pi->pwndTemplate		= pwndTemplate;
	pi->pwndButton			= but;
	pi->pwndGroupBox		= groupbox;
	pi->pOldDlgProc			= (WNDPROC)::GetWindowLong(pwndTemplate->m_hWnd, DWL_DLGPROC);
	pi->pOldButProc			= (WNDPROC)::GetWindowLong(but->m_hWnd, GWL_WNDPROC);
	pi->bAutoDestroyTpl	= bAutoDestroyTpl;

	int newidx;
	if (idx<0)	newidx = (int)m_PageList.Add(pi);
	else	{	m_PageList.InsertAt(idx, pi); newidx=idx; }

	//Set Dlg Window datas
	::SetWindowLong(pwndTemplate->m_hWnd, GWL_USERDATA,	(LONG)m_PageList[newidx]);
	::SetWindowLong(pwndTemplate->m_hWnd, DWL_USER,		(LONG)this);

	//Set But Window data
	::SetWindowLong(but->m_hWnd, GWL_USERDATA,	(LONG)m_PageList[newidx]);

	//SubClass Template window proc
	::SetWindowLong(pwndTemplate->m_hWnd, DWL_DLGPROC, (LONG)CRollupCtrl::DlgWindowProc);

	//SubClass Button window proc
	::SetWindowLong(but->m_hWnd, GWL_WNDPROC, (LONG)CRollupCtrl::ButWindowProc);

	//Update
	m_PageHeight+=RC_PGBUTTONHEIGHT+(RC_GRPBOXINDENT/2);
	RecalLayout();

	return newidx;
}