亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? titleview.cpp

?? 本程序是VC為平臺開發(fā)的股票資訊系統(tǒng)
?? CPP
字號:
// TitleView.cpp : implementation file
//

#include "stdafx.h"
#include "StockRefer.h"
#include "TitleView.h"

#include "MainFrm.h"
#include "NewsContent.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTitleView

CTreeCtrlEx CTitleView::m_TitleTree[CATEGORY_NUM];

IMPLEMENT_DYNCREATE(CTitleView, CView)

CTitleView::CTitleView()
{
	// Create the image list used by frame buttons.
	m_ImageList.Create(IDB_BITMAP_CLOSE, 16, 1, RGB(255, 0, 255));
}

CTitleView::~CTitleView()
{
	m_ImageList.DeleteImageList();
}


BEGIN_MESSAGE_MAP(CTitleView, CView)
	//{{AFX_MSG_MAP(CTitleView)
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_WM_ERASEBKGND()
	ON_WM_CONTEXTMENU()
	ON_WM_RBUTTONDOWN()
	ON_COMMAND(ID_EDIT_DELETE, OnEditDelete)
	ON_COMMAND(ID_FILE_EXPORT, OnFileExport)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, OnFilePrintPreview)
	ON_COMMAND(ID_FILE_PRINT, OnFilePrint)
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_CAPT_BUTTON, OnCaptButton)
	ON_NOTIFY_RANGE(TVN_SELCHANGED, IDC_TITLE_TREE, IDC_TITLE_TREE + CATEGORY_NUM - 1, OnSelchangedTree)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTitleView drawing

void CTitleView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CTitleView diagnostics

#ifdef _DEBUG
void CTitleView::AssertValid() const
{
	CView::AssertValid();
}

void CTitleView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTitleView message handlers

int CTitleView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	if (!m_Caption.Create(this,_T("資訊列表")))
	{
		TRACE0( _T("Unable to create caption.\n"));
		return -1;
	}

	if (!m_CaptionButton.Create(NULL, WS_VISIBLE | BS_ICON | 
		BS_OWNERDRAW | BS_CENTER | BS_VCENTER, CRect(0,0,0,0), 
		this,IDC_CAPT_BUTTON))
	{
		TRACE0(_T("Unable to create caption button.\n"));
		return -1;
	}

	// set the caption buttons icon.
	m_CaptionButton.SetIcon(m_ImageList.ExtractIcon(0), CSize(16,15));
	
	m_tip.Create(this);
	m_tip.AddTool(&m_CaptionButton,IDS_BUTTON_CLOSE);
	m_tip.Activate(TRUE);

	// create the tree control.
	for(int i=0;i<CATEGORY_NUM;i++)
	{
		if (!m_TitleTree[i].Create(WS_VISIBLE, CRect(0,0,0,0), this, IDC_TITLE_TREE+i))
		{
			TRACE0( "Unable to create tree control.\n" );
			return -1;
		}
		m_TitleTree[i].ShowWindow(SW_HIDE);
	}

	return 0;
}

void CTitleView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	if( m_Caption.GetSafeHwnd())
		m_Caption.MoveWindow( 0, 0, cx, 19 );

	if( m_CaptionButton.GetSafeHwnd()) 
		m_CaptionButton.MoveWindow( cx-18, 2, 16, 15 );

	for(int i=0;i<CATEGORY_NUM;i++)
	{
		if( m_TitleTree[i].GetSafeHwnd()) 
		{
			m_TitleTree[i].MoveWindow( 0, 19, cx, cy-19 );
		}
	}
}

BOOL CTitleView::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
	m_tip.RelayEvent(pMsg);
	
	return CView::PreTranslateMessage(pMsg);
}

void CTitleView::OnCaptButton()
{
	AfxGetMainWnd()->SendMessage(WM_COMMAND,ID_VIEW_LIST);
}

CSize CTitleView::GetButtonTextSize(CFont *pFont, UINT nIDText)
{
	CString strText;
	CDC* pDC = GetDC();
	CFont* pOldFont = pDC->SelectObject(pFont);
	TEXTMETRIC tm;
	pDC->GetTextMetrics(&tm);
	strText.LoadString(nIDText);
	CSize size = pDC->GetTextExtent(strText,strText.GetLength());
	pDC->SelectObject(pOldFont);
	ReleaseDC(pDC);

	return size;
}

BOOL CTitleView::OnEraseBkgnd(CDC* pDC) 
{
	UNUSED_ALWAYS(pDC);

	return TRUE;
}

void CTitleView::OnSelchangedTree(UINT id, NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	try
	{
		int selnum,nImage,nSelectedImage;
		HTREEITEM m_tmpItem;
		CString title;
		selnum = m_TitleTree[iCurSel].GetSelectedCount();
		if(selnum == 1)
		{
			m_tmpItem = m_TitleTree[iCurSel].GetSelectedItem();
			m_TitleTree[iCurSel].GetItemImage(m_tmpItem,nImage,nSelectedImage);
			if(nImage == 1) title = m_TitleTree[iCurSel].GetItemText(m_tmpItem);
			CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
			ASSERT(pFrame);
			CStockReferView* pFileView = pFrame->GetStockReferView();
			ASSERT(pFileView);
			pFileView->OutFile(title);
		}
	}
	catch(...)
	{
	}

	*pResult = 0;
}

BOOL CTitleView::CanExport()
{
	int count = m_TitleTree[iCurSel].GetSelectedCount();
	if(count != 1) return FALSE;
	int nImg,nImgSel;
	HTREEITEM m_hSelectedItem = m_TitleTree[iCurSel].GetSelectedItem();
	if(m_hSelectedItem == NULL) return FALSE;
	if(!m_TitleTree[iCurSel].GetItemImage(m_hSelectedItem,nImg,nImgSel))
		return FALSE;
	if(nImg == 0)
		return FALSE;

	return TRUE;
}

BOOL CTitleView::CanDeleteOption()
{
	int count = m_TitleTree[iCurSel].GetSelectedCount();
	if (count == 0) return FALSE;
	if(count == 1)
	{
		int nImg,nImgSel;
		HTREEITEM m_hSelectedItem = m_TitleTree[iCurSel].GetSelectedItem();
		if(m_hSelectedItem == NULL) return FALSE;
		if(!m_TitleTree[iCurSel].GetItemImage(m_hSelectedItem,nImg,nImgSel))
			return FALSE;
		if(nImg == 0 &&
			!m_TitleTree[iCurSel].ItemHasChildren(m_hSelectedItem))
			return FALSE;

		return TRUE;
	}
	else
		return TRUE;
}

void CTitleView::ShowPopupMenu(CPoint &point, int nImage)
{
	if (point.x == -1 && point.y == -1)
	{
		//keystroke invocation
		CRect rect;
		GetClientRect(rect);
		ClientToScreen(rect);

		point = rect.TopLeft();
		point.Offset(5, 5);
	}

	CCJMenu menu;
	VERIFY(menu.LoadMenu(IDR_POPUP_TITLETREE));

	CCJMenu* pPopup = (CCJMenu*)menu.GetSubMenu(0);
	ASSERT(pPopup != NULL);

	pPopup->LoadToolbar(IDR_MAINFRAME);

	CWnd* pWndPopupOwner = this;
	while(pWndPopupOwner->GetStyle() & WS_CHILD)
		pWndPopupOwner = pWndPopupOwner->GetParent();

	CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
	ASSERT(pFrame);
	if(pFrame->m_IsThreadRunning)
	{
		pPopup->EnableMenuItem(ID_EDIT_DELETE,MF_BYCOMMAND|MF_GRAYED);
		pPopup->EnableMenuItem(ID_FILE_EXPORT,MF_BYCOMMAND|MF_GRAYED);
	}
	int count = m_TitleTree[iCurSel].GetSelectedCount();
	if(count > 1 || nImage == 0)
	{
		pPopup->EnableMenuItem(ID_FILE_EXPORT,MF_BYCOMMAND|MF_GRAYED);
		pPopup->EnableMenuItem(ID_FILE_PRINT,MF_BYCOMMAND|MF_GRAYED);
		pPopup->EnableMenuItem(ID_FILE_PRINT_PREVIEW,MF_BYCOMMAND|MF_GRAYED);
	}
	if(!CanDeleteOption())
		pPopup->EnableMenuItem(ID_EDIT_DELETE,MF_BYCOMMAND|MF_GRAYED);

	pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON,
		point.x, point.y, this);

	menu.DestroyMenu();
}

void CTitleView::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// TODO: Add your message handler code here
	UINT uFlags;
	CPoint ptTree = point;
	m_TitleTree[iCurSel].ScreenToClient(&ptTree);
	HTREEITEM htItem = m_TitleTree[iCurSel].HitTest(ptTree, &uFlags);

	int nImage,nSelectedImage;
	m_TitleTree[iCurSel].GetItemImage(htItem,nImage,nSelectedImage);
	if((htItem != NULL) && (uFlags & TVHT_ONITEM)) 
	{
		ShowPopupMenu(point,nImage);
		m_TitleTree[iCurSel].SetItemState(htItem, 0, TVIS_DROPHILITED);
	}
	else
		CView::OnContextMenu(pWnd, point);

	if(m_pOldSel != NULL)
	{
		m_TitleTree[iCurSel].Select(m_pOldSel, TVGN_DROPHILITE);
		m_pOldSel = NULL;
	}
}

void CTitleView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	UINT uFlags;
	HTREEITEM htItem = m_TitleTree[iCurSel].HitTest(point, &uFlags);
	if ((htItem != NULL) && (uFlags & TVHT_ONITEM)) 
	{
		m_pOldSel = m_TitleTree[iCurSel].GetSelectedItem();
		m_TitleTree[iCurSel].Select(htItem, TVGN_DROPHILITE);
	}
}

void CTitleView::DeleteOption(CDaoDatabase *m_pData, LPCTSTR lpszToday) 
{
	// TODO: Add your command handler code here
	int count,i;
	CString itemtxt,sql,todel;
	HTREEITEM childitem,*tmpItem;
	
	if(AfxMessageBox(IDS_DELETE_SURE,MB_YESNO | 
		MB_ICONINFORMATION | MB_DEFBUTTON2) == IDYES)
	{
		count = m_TitleTree[iCurSel].GetSelectedCount();
		tmpItem = new HTREEITEM[count];
		tmpItem[0] = m_TitleTree[iCurSel].GetFirstSelectedItem();
		for(i=1;i<count;i++)
			tmpItem[i] = m_TitleTree[iCurSel].GetNextSelectedItem(tmpItem[i-1]);
		for(i=0;i<count;i++)
		{
			while(m_TitleTree[iCurSel].ItemHasChildren(tmpItem[i])) 
			{
				childitem = m_TitleTree[iCurSel].GetChildItem(tmpItem[i]);
				itemtxt = m_TitleTree[iCurSel].GetItemText(childitem);
				todel += _T("'") + itemtxt + _T("' OR col1 = ");
				m_TitleTree[iCurSel].DeleteItem(childitem); 
			}
			itemtxt = m_TitleTree[iCurSel].GetItemText(tmpItem[i]);
			if(itemtxt != lpszToday)
			{
				todel += _T("'") + itemtxt + _T("' OR col1 = ");
				m_TitleTree[iCurSel].DeleteItem(tmpItem[i]); 
			}
		}
		delete tmpItem;
	}
	
	if(!todel.IsEmpty())
	{
		CNewsContent item(m_pData);
		try
		{
			int len = todel.GetLength();
			todel = todel.Left(len - 11);
			sql.Format(_T("SELECT * FROM list%d ORDER BY col3"),iCurSel);
			item.Open(dbOpenDynaset,sql,0);
			sql.Format(_T("DELETE FROM list%d WHERE col1 = %s;"),iCurSel,todel);
			item.m_pDatabase->Execute(sql);
			item.Close();
		}
		catch(CDaoException *e)
		{
			if(item.IsOpen()) item.Close();
			e->Delete();
			
			AfxMessageBox(IDS_PROGRAM_ERROR,MB_ICONSTOP);
		}
	}
	m_TitleTree[iCurSel].SetFocus();
}

void CTitleView::OnEditDelete() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
	ASSERT(pFrame);
	CContainView *pView = (CContainView*)pFrame->GetContainView();
	ASSERT(pView);
	pView->DeleteOption();
}

void CTitleView::OnFileExport() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
	ASSERT(pFrame);
	CStockReferView *pView = (CStockReferView*)pFrame->GetStockReferView();
	ASSERT(pView);
	pView->ExportToFile();
}

void CTitleView::OnFilePrintPreview() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
	ASSERT(pFrame);
	CStockReferView *pView = (CStockReferView*)pFrame->GetStockReferView();
	ASSERT(pView);
	pView->FilePrintPreview();
}

void CTitleView::OnFilePrint() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
	ASSERT(pFrame);
	CStockReferView *pView = (CStockReferView*)pFrame->GetStockReferView();
	ASSERT(pView);
	pView->FilePrint();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合狠狠躁的推荐 | 成人av资源站| 久久久精品黄色| 国产伦精品一区二区三区免费迷| 精品国产一区久久| 国产乱人伦偷精品视频不卡| 国产亚洲欧美在线| 99久久久免费精品国产一区二区| 亚洲天堂中文字幕| 欧美视频在线一区| 久久99久久精品| 中文字幕欧美国产| 99精品黄色片免费大全| 亚洲综合图片区| 欧美tickle裸体挠脚心vk| 国产精品99久久久久久宅男| 综合色中文字幕| 91精品国产91久久综合桃花| 国产一区视频在线看| 亚洲欧美中日韩| 69p69国产精品| 国产精品2024| 午夜精品福利久久久| 欧美mv日韩mv国产| 99久久综合狠狠综合久久| 亚洲一区二区三区免费视频| 欧美一区二区三区四区在线观看| 国产精品一区二区在线观看网站| 亚洲欧美一区二区久久| 欧美大片国产精品| av一区二区三区四区| 琪琪一区二区三区| 国产精品嫩草99a| 欧美精品一二三| 91日韩一区二区三区| 青青国产91久久久久久| 亚洲人亚洲人成电影网站色| 日韩一区二区免费高清| 99国产精品视频免费观看| 美腿丝袜亚洲综合| 一个色综合av| 国产日产欧产精品推荐色 | 国产一区不卡视频| 亚洲一区二区三区中文字幕| 久久精品一区四区| 欧美一区二区精品久久911| 色综合色综合色综合| 国产福利精品一区二区| 麻豆国产一区二区| 亚洲va韩国va欧美va| 自拍偷拍欧美精品| 国产欧美日韩不卡| 欧美刺激午夜性久久久久久久 | 欧美日韩国产小视频在线观看| 成人手机在线视频| 麻豆成人av在线| 无码av中文一区二区三区桃花岛| 亚洲美女屁股眼交3| 国产精品成人免费| 国产精品女同一区二区三区| 久久精品一二三| 精品国产成人系列| 91精品国产综合久久精品| 欧美吞精做爰啪啪高潮| 日本道色综合久久| 91国产视频在线观看| 99国产麻豆精品| 99re在线精品| 成人动漫一区二区| 丁香啪啪综合成人亚洲小说 | 精品久久99ma| 日韩欧美国产wwwww| 日韩欧美在线一区二区三区| 91精品在线一区二区| 538在线一区二区精品国产| 欧美日韩午夜精品| 在线不卡欧美精品一区二区三区| 欧美日韩国产一区| 日韩一区二区三区视频在线| 日韩一区二区免费在线电影| 精品嫩草影院久久| 久久久精品影视| 国产精品色婷婷久久58| 国产日韩欧美精品综合| 中文字幕欧美一区| 亚洲免费观看视频| 午夜一区二区三区视频| 免费在线一区观看| 国产在线看一区| 成人听书哪个软件好| 色哟哟国产精品| 91精品国产综合久久精品图片| 日韩视频国产视频| 国产日韩精品一区| 亚洲免费在线看| 视频一区视频二区在线观看| 久久精品99国产精品日本| 国产一区二区三区| 99精品1区2区| 欧美精品 日韩| 亚洲精品在线观| 中文字幕亚洲精品在线观看| 亚洲一区二区三区四区五区中文| 日韩精品乱码免费| 成人美女视频在线看| 在线中文字幕一区| 精品毛片乱码1区2区3区| 亚洲欧美在线另类| 人人精品人人爱| 成人动漫一区二区三区| 欧美日韩亚洲综合| 久久久久亚洲蜜桃| 亚洲一区视频在线| 国产大片一区二区| 欧美日韩亚洲综合一区| 久久久噜噜噜久噜久久综合| 亚洲黄色尤物视频| 国产一区二区三区综合| 在线视频中文字幕一区二区| 26uuu亚洲综合色欧美| 亚洲精品自拍动漫在线| 久久电影国产免费久久电影| 色网综合在线观看| 精品国产乱码久久久久久老虎 | 国产精品天干天干在观线| 亚洲成人综合在线| 国产成人av电影| 678五月天丁香亚洲综合网| 亚洲欧洲三级电影| 久久99精品一区二区三区三区| 99国内精品久久| 久久精品免费在线观看| 日韩和的一区二区| 91视频一区二区三区| 久久久五月婷婷| 蜜臂av日日欢夜夜爽一区| 91久久香蕉国产日韩欧美9色| 久久综合狠狠综合久久综合88 | 成人听书哪个软件好| 91精品国产麻豆| 亚洲韩国一区二区三区| 99九九99九九九视频精品| 欧美videofree性高清杂交| 日本女人一区二区三区| 成人白浆超碰人人人人| 欧美一级片在线观看| 亚洲另类在线一区| bt7086福利一区国产| 亚洲精品在线三区| 日本不卡一区二区| 欧美亚洲国产一区在线观看网站| 中文字幕日本不卡| 成人综合激情网| 欧美大胆人体bbbb| 日韩av一区二区三区四区| 在线观看区一区二| 亚洲精品自拍动漫在线| 99久久久国产精品免费蜜臀| 欧美激情一区二区三区四区| 国产成人免费xxxxxxxx| 日韩美女主播在线视频一区二区三区 | 丝袜美腿亚洲综合| 欧美综合视频在线观看| 亚洲综合图片区| 欧美午夜精品一区二区三区 | 亚洲精品一区二区在线观看| 蜜臀精品一区二区三区在线观看| 欧美日韩国产三级| 日日噜噜夜夜狠狠视频欧美人 | 国产精品久久久久久久第一福利 | 亚洲天堂2014| 色综合久久精品| 一区二区在线免费| 日本久久精品电影| 亚洲一区在线播放| 91超碰这里只有精品国产| 日韩av一二三| 精品日韩99亚洲| 国产精品亚洲第一区在线暖暖韩国| 久久免费电影网| aaa国产一区| 亚洲精品日韩一| 91精品国模一区二区三区| 裸体一区二区三区| 2欧美一区二区三区在线观看视频| 国产精品夜夜嗨| 亚洲蜜臀av乱码久久精品 | 99精品视频在线观看免费| 亚洲欧美日韩电影| 在线播放中文一区| 国产一区二区三区在线观看精品 | 欧美午夜精品免费| 激情欧美一区二区三区在线观看| 久久综合99re88久久爱| gogogo免费视频观看亚洲一| 一区二区高清免费观看影视大全| 4438x成人网最大色成网站| 国产又粗又猛又爽又黄91精品| 中文字幕一区二区三区视频| 在线播放欧美女士性生活|