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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? categorybar.cpp

?? 本程序是VC為平臺開發的股票資訊系統
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	int index, ht = HitTestEx(point, index);

	if (ht != htFolder && iLastFolderHighlighted >= 0) HighlightFolder(-1);
	if (ht != htItem   && iLastItemHighlighted   >= 0) HighlightItem(-1);

	if (ht == htFolder)
	{
		HighlightFolder(index);
//		SetTimer(1,100,NULL);
	}
	else if (ht == htItem)
	{
		HighlightItem(index);
//		SetTimer(1,100,NULL);
	}

	CWnd::OnMouseMove(nFlags, point);
}

int CCategoryBar::HitTestEx(const CPoint & point, int &index)
{
	if (bUpArrow && rcUpArrow.PtInRect(point)) return htUpScroll;
	if (bDownArrow && rcDownArrow.PtInRect(point)) return htDownScroll;

	int max = arFolder.GetSize(), t;

	CRect rc;
	for (t = 0; t < max; t++)
	{
		GetFolderRect(t, rc);
		if (rc.PtInRect(point)) 
		{
			index = t;
			return htFolder;
		}
	}
	GetInsideRect(rc);
	CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);
	max = pbf->GetItemCount();
	for (t = iFirstItem; t < max; t++)
	{
		CRect itemRc;
		if (!IsSmallIconView()) 
		{
			GetIconRect(iSelFolder, t, itemRc);
			if (itemRc.PtInRect(point))
			{
				index = t;
				return htItem;
			}
			else if (itemRc.top > rc.bottom) break;
			GetLabelRect(iSelFolder, t, itemRc);
			itemRc.top -= yLargeIconLabelOffset;

			if (itemRc.PtInRect(point))
			{
				index = t;
				return htItem;
			}
			else if (itemRc.top > rc.bottom) break;
		}
		else
		{
			GetItemRect(iSelFolder, t, itemRc);
			if (itemRc.PtInRect(point))
			{
				index = t;
				return htItem;
			}
			else if (itemRc.top > rc.bottom) break;
		}
	}
	return htNothing;
}

void CCategoryBar::HighlightFolder(const int index)
{
	CWnd * pf = GetFocus();
	if (pf != NULL && pf != this && IsChild(pf)) return;

	if (iLastFolderHighlighted == index) return;

	if (iLastFolderHighlighted >= 0)
	{
		CRect rc;
		if (GetFolderRect(iLastFolderHighlighted, rc))
		{
			CClientDC dc(this);
			CPen pn(PS_SOLID, 1, crBackGroundColor1);//crShadowBorder);
			CPen * op = dc.SelectObject(&pn);
			dc.MoveTo(rc.left, rc.bottom-1);
			dc.LineTo(rc.right-1, rc.bottom-1);
			dc.LineTo(rc.right-1, rc.top);
			CPen pn1(PS_SOLID, 1, cr3dFace);
			dc.SelectObject(&pn1);
			dc.MoveTo(rc.left+1, rc.bottom-2);
			dc.LineTo(rc.right-2, rc.bottom-2);
			dc.LineTo(rc.right-2, rc.top+1);
			dc.SelectObject(op);

			// fix potential resource leak - KStowell - 10-21-99
			pn.DeleteObject();
		}
	}
	iLastFolderHighlighted = index;
	if (iLastFolderHighlighted >= 0)
	{
		CRect rc;
		if (GetFolderRect(iLastFolderHighlighted, rc))
		{
			CClientDC dc(this);
			CPen pn(PS_SOLID, 1, crDkShadowBorder);
			CPen * op = dc.SelectObject(&pn);
			dc.MoveTo(rc.left, rc.bottom-1);
			dc.LineTo(rc.right-1, rc.bottom-1);
			dc.LineTo(rc.right-1, rc.top);
			CPen pn1(PS_SOLID, 1, crBackGroundColor1);
			dc.SelectObject(&pn1);
			dc.MoveTo(rc.left+1, rc.bottom-2);
			dc.LineTo(rc.right-2, rc.bottom-2);
			dc.LineTo(rc.right-2, rc.top+1);
			dc.SelectObject(op);

			// fix potential resource leak - KStowell - 10-21-99
			pn.DeleteObject();
		}
	}
}

void CCategoryBar::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (GetFocus() != this) SetFocus();

	int index, ht = HitTestEx(point, index);
	iLastDragItemDrawType = -1;

	CRect inRc;
	GetInsideRect(inRc);

	if (ht == htFolder)
	{
		bool bHigh = true;
		CRect rc;
		GetFolderRect(index, rc);

		if (::GetCapture() == NULL)
		{
			SetCapture();
			ASSERT(this == GetCapture());
			CClientDC dc(this);
			DrawFolder(&dc, index, rc, true);
			AfxLockTempMaps();
			for (;;)
			{
				MSG msg;
				VERIFY(::GetMessage(&msg, NULL, 0, 0));

				if (CWnd::GetCapture() != this) break;

				switch (msg.message)
				{
				case WM_MOUSEMOVE:
					{
						CPoint pt(msg.lParam);
						int idx, ht1 = HitTestEx(pt, idx);
						if (ht1 == htFolder && idx == index)
						{
							if (!bHigh)
							{
								DrawFolder(&dc, index, rc, true);
								bHigh = true;
							}
						}
						else
						{
							if (bHigh)
							{
								DrawFolder(&dc, index, rc, false);
								bHigh = false;
							}
						}
					}
					break;

				case WM_LBUTTONUP:
					{
						if (bHigh)
						{
							DrawFolder(&dc, index, rc, false);
							bHigh = false;
						}
						CPoint pt(msg.lParam);
						int idx, ht1 = HitTestEx(pt, idx);
						if (ht1 == htFolder && idx != iSelFolder)
							SetSelFolder(idx);
					}

					goto ExitLoop2;

				case WM_KEYDOWN:	
					if (msg.wParam != VK_ESCAPE) 
						break;

				default:
					DispatchMessage(&msg);
					break;
				}
			}

		ExitLoop2:
			ReleaseCapture();
			AfxUnlockTempMaps(FALSE);
		}
		if (bHigh) InvalidateRect(rc, false);
	}
	else iLastSelectedFolder = -1;

	if (ht == htItem)
	{
		iLastDragItemDraw = -1;
		bool bHigh = true, bDragging = false;
		CRect rc;
		GetItemRect(iSelFolder, index, rc);

		HCURSOR hCur = GetCursor();

		if (::GetCapture() == NULL)
		{
			SetCapture();
			ASSERT(this == GetCapture());
			CClientDC dc(this);
			HighlightItem(index, true);
			AfxLockTempMaps();
			for (;;)
			{
				MSG msg;
				VERIFY(::GetMessage(&msg, NULL, 0, 0));

				if (CWnd::GetCapture() != this) break;

				switch (msg.message)
				{
				case WM_MOUSEMOVE:
					{
						CPoint pt(msg.lParam);
						int idx, ht1 = HitTestEx(pt, idx);
						if (bDragging)
						{
							if (ht1 == htItem) 
								DrawDragArrow(&dc, index, idx);
							else 
							{
								CRect rcItem;
								GetItemRect(iSelFolder, GetItemCount() - 1, rcItem);
								if (pt.y > rcItem.bottom && pt.y < inRc.bottom)
									DrawDragArrow(&dc, index, GetItemCount());
								else
									DrawDragArrow(&dc, index, -1);
							}
						}
						else
						{
							if (ht1 == htItem && idx == index)
							{
								if (!bHigh)
								{
									HighlightItem(index, true);
									bHigh = true;
									bPressedHighlight = true;
								}
							}
							else 
							{
								if (ht1 == htItem)
								{
									if (bHigh)
									{
										HighlightItem(index, false);
										bHigh = false;
										bPressedHighlight = false;
									}
								}
								else
								{
									if (dwFlags&fDragItems)
									{
										HighlightItem(index, true);
										bHigh = true;
										bDragging = true;

										bPressedHighlight = true;
									}
								}
							}
						}
					}
					break;

				case WM_SETCURSOR:
					SetCursor(hCur);
					break;

				case WM_LBUTTONUP:
					{
						if (bHigh)
						{
							HighlightItem(-1);
							bHigh = false;
						}
						CPoint pt(msg.lParam);
						int idx, ht1 = HitTestEx(pt, idx);
						if (!bDragging)
						{
							if (ht1 == htItem && idx == index) 
							{
								if (iSelAnimTiming > 0 && index != iLastSel && iLastSel >= 0)
								{
									DrawAnimItem(0, 0, iLastSel);
								}

								if (dwFlags&fSelHighlight && iLastSel >= 0)
								{
									CRect rc;
									GetIconRect(iSelFolder, iLastSel, rc);
									rc.InflateRect(1,1);
									InvalidateRect(rc);
								}

								iLastSel = index;

								if (dwFlags&fSelHighlight && iLastSel >= 0)
								{
									CRect rc;
									GetIconRect(iSelFolder, iLastSel, rc);
									rc.InflateRect(1,1);
									InvalidateRect(rc);
								}

								GetOwner()->SendMessage(WM_CATEGORY_NOTIFY, NM_OB_ITEMCLICK, idx);
							}
						}
						else
						{
							if (ht1 == htItem)
							{
								if (idx != index)
								{
									CATEGORY_INFO ob;
									ob.iDragFrom = iSelFolder;
									ob.iDragTo = index;
//									if (GetOwner()->SendMessage(WM_CATEGORY_NOTIFY, NM_OB_DRAGITEM, (LPARAM) &ob))
//									{
										CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);
										CBarItem * piFrom = (CBarItem *) pbf->arItems.GetAt(index);
										pbf->arItems.RemoveAt(index);
										if (idx > index) idx --;
										pbf->arItems.InsertAt(idx, piFrom);
//									}
									GetOwner()->SendMessage(WM_CATEGORY_NOTIFY, NM_OB_DRAGITEM, (LPARAM) &ob);

								}
							}
							else
							{
								CRect rcItem;
								GetItemRect(iSelFolder, GetItemCount() - 1, rcItem);
								if (pt.y > rcItem.bottom && pt.y < inRc.bottom)
								{
									CATEGORY_INFO ob;
									ob.iDragFrom = iSelFolder;
									ob.iDragTo = index;
									if (GetOwner()->SendMessage(WM_CATEGORY_NOTIFY, NM_OB_DRAGITEM, (LPARAM) &ob))
									{
										CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);
										CBarItem * piFrom = (CBarItem *) pbf->arItems.GetAt(index);
										pbf->arItems.RemoveAt(index);
										pbf->arItems.Add((void *) piFrom);
									}
								}
							}
						}
					}

					goto ExitLoop4;

				default:
					DispatchMessage(&msg);
					break;
				}
			}

		ExitLoop4:
			ReleaseCapture();
			AfxUnlockTempMaps(FALSE);
			if (bDragging) 
			{
				Invalidate();
			}
		}
		bPressedHighlight = false;
		if (bHigh) InvalidateRect(rc, false);
	}
	else iLastItemHighlighted = -1;

	if (ht == htDownScroll)
	{
		bLooping = true;
		bool bHigh = true;

		if (::GetCapture() == NULL)
		{
			SetCapture();
			ASSERT(this == GetCapture());
			CClientDC dc(this);
			dc.DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN|DFCS_PUSHED);
//			SetTimer(2,300,NULL);
			AfxLockTempMaps();
			for (;;)
			{
				MSG msg;
				VERIFY(::GetMessage(&msg, NULL, 0, 0));

				if (CWnd::GetCapture() != this) break;

				switch (msg.message)
				{
				case WM_MOUSEMOVE:
					{
						CPoint pt(msg.lParam);
						if (rcDownArrow.PtInRect(pt))
						{
							if (bHigh == false)
							{
								dc.DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN|DFCS_PUSHED);
								bHigh = true;
								bDownArrow = true;
								bDownPressed = true;
							}
						}
						else
						{
							if (bHigh == true)
							{
								dc.DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN);
								bHigh = false;
								bDownArrow = false;
								bDownPressed = false;
							}
						}
					}
					break;

				case WM_LBUTTONUP:
					{
						if (bHigh)
						{
							dc.DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN);
							bHigh = false;
						}
						bDownArrow = false;
						CPoint pt(msg.lParam);
						if (rcDownArrow.PtInRect(pt))
						{
							CRect itrc;
							GetItemRect(iSelFolder, GetItemCount() - 1, itrc);
							CRect crc;
							GetInsideRect(crc);
							if (itrc.bottom > crc.bottom)
							{
								iFirstItem ++;
								InvalidateRect(crc, true);
							}
						}
					}
					goto ExitLoop3;


				case WM_TIMER:
					{
						if (msg.wParam == 2)
						{
							if (bHigh)
							{
								CPoint pt(msg.pt);
								ScreenToClient(&pt);
								if (rcDownArrow.PtInRect(pt))
								{
									bDownPressed = true;
									CRect itrc;
									GetItemRect(iSelFolder, GetItemCount() - 1, itrc);
									CRect crc;
									GetInsideRect(crc);
									if (itrc.bottom > crc.bottom)
									{
										iFirstItem ++;
										InvalidateRect(crc, true);
									}
									else goto ExitLoop3;
								}
								else bDownPressed = false;
							}
						}
						break;
					}

				case WM_KEYDOWN:	
					if (msg.wParam != VK_ESCAPE) 
						break;

				default:
					DispatchMessage(&msg);
					break;
				}
			}

		ExitLoop3:
			KillTimer(2);
			ReleaseCapture();
			AfxUnlockTempMaps(FALSE);
			bLooping = false;
			bDownPressed = false;
			bDownArrow = false;
			CRect crc;
			GetInsideRect(crc);
			InvalidateRect(crc, true);
		}
	}

	if (ht == htUpScroll)
	{
		bLooping = true;
		bool bHigh = true;

		if (::GetCapture() == NULL)
		{
			SetCapture();
			ASSERT(this == GetCapture());
			CClientDC dc(this);
			dc.DrawFrameControl(rcUpArrow, DFC_SCROLL, DFCS_SCROLLUP|DFCS_PUSHED);
//			SetTimer(2,300,NULL);
			AfxLockTempMaps();
			for (;;)
			{
				MSG msg;
				VERIFY(::GetMessage(&msg, NULL, 0, 0));

				if (CWnd::GetCapture() != this) break;

				switch (msg.message)
				{
				case WM_MOUSEMOVE:
					{
						CPoint pt(msg.lParam);
						if (rcUpArrow.PtInRect(pt))
						{
							if (bHigh == false)
							{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产 日韩 欧美大片| 国产精品综合在线视频| 国产精品高潮久久久久无| 欧美大白屁股肥臀xxxxxx| 欧美日韩成人综合天天影院| 91同城在线观看| 成人福利视频在线看| 不卡的看片网站| www.亚洲色图.com| 色偷偷88欧美精品久久久| 色妹子一区二区| 欧美三级电影在线观看| 欧美日韩情趣电影| 欧美大片一区二区三区| 国产亚洲精品7777| 欧美高清在线精品一区| 中文字幕一区二区在线播放| 亚洲欧美日韩国产一区二区三区| 亚洲精品成a人| 亚洲成av人片www| 美腿丝袜亚洲色图| 成人免费毛片高清视频| 色综合av在线| 日韩免费高清av| 欧美高清一级片在线观看| 一区免费观看视频| 亚洲成人tv网| 国产一区二区三区精品视频| 成人99免费视频| 欧美日韩亚洲另类| 国产亚洲欧美中文| 亚洲一区二区三区在线播放| 另类小说视频一区二区| 国产凹凸在线观看一区二区| 色婷婷国产精品| 精品国精品国产| 亚洲乱码国产乱码精品精98午夜 | 久久国产精品99久久人人澡| 丁香啪啪综合成人亚洲小说| 在线观看亚洲专区| 2024国产精品| 亚洲午夜三级在线| 国产成人福利片| 欧美一卡2卡3卡4卡| 亚洲欧洲日韩在线| 极品美女销魂一区二区三区| 色婷婷精品久久二区二区蜜臂av| 欧美成人乱码一区二区三区| 亚洲欧美日韩一区二区| 国产乱色国产精品免费视频| 欧美老人xxxx18| 国产精品久久久久aaaa樱花 | 久久精品亚洲一区二区三区浴池| 一卡二卡欧美日韩| 一区二区三区中文字幕电影| 亚洲伦在线观看| 日韩一区二区电影网| 94色蜜桃网一区二区三区| 欧美一区二区高清| 粉嫩aⅴ一区二区三区四区五区| 国产精品入口麻豆九色| 色欧美片视频在线观看在线视频| 亚洲国产aⅴ成人精品无吗| 91精品国产全国免费观看| 国产综合色精品一区二区三区| 中文字幕成人网| 欧美片在线播放| 国产一区二区在线视频| 中文字幕日本不卡| 日韩欧美国产午夜精品| 成人黄色大片在线观看| 一区二区在线观看视频| 精品国产露脸精彩对白| 99久久精品免费观看| 日本午夜一区二区| 中文字幕精品在线不卡| 欧美日韩国产综合草草| 高清免费成人av| 日韩在线a电影| 国产精品久久久久久久久久久免费看 | 天堂va蜜桃一区二区三区 | 国产一区二区在线电影| 亚洲免费在线电影| 精品免费视频.| 欧美亚洲日本一区| 成人aaaa免费全部观看| 久久av资源网| 亚洲第四色夜色| 亚洲欧美韩国综合色| 国产欧美一区二区精品婷婷 | 美女国产一区二区三区| 亚洲欧美国产毛片在线| 久久综合给合久久狠狠狠97色69| 欧美精品丝袜中出| 色婷婷久久久久swag精品 | 久久久不卡网国产精品一区| 在线看不卡av| 色综合天天综合| 成人av手机在线观看| 国产精品中文欧美| 视频一区二区欧美| 一二三四社区欧美黄| 中文字幕在线不卡一区| 久久久高清一区二区三区| 日韩免费一区二区| 91精品国产乱| 欧美日韩国产一区| 欧美性生交片4| 99re8在线精品视频免费播放| 国产精品资源网| 成年人网站91| 久久99久久精品| 久久国产精品无码网站| 麻豆免费看一区二区三区| 青草av.久久免费一区| 视频在线观看一区二区三区| 亚洲第一久久影院| 午夜精品久久久久影视| 夜夜精品视频一区二区| 亚洲自拍偷拍网站| 亚洲va天堂va国产va久| 午夜精品一区二区三区三上悠亚| 亚洲一区视频在线| 天天影视网天天综合色在线播放| 亚洲一级二级在线| 日韩vs国产vs欧美| 免费人成网站在线观看欧美高清| 蜜臀久久久99精品久久久久久| 免费在线视频一区| 国产精品一区二区91| av中文一区二区三区| 在线亚洲欧美专区二区| 欧美日韩国产大片| 精品国产乱码久久久久久久| 久久免费国产精品| 亚洲色图在线视频| 午夜精品123| 精品午夜久久福利影院| 国产99久久久精品| 91国偷自产一区二区使用方法| 欧美视频一区二区三区在线观看| 欧美人妇做爰xxxⅹ性高电影| 日韩免费在线观看| 国产精品美女久久久久aⅴ| 一区二区在线电影| 日本强好片久久久久久aaa| 国产乱码字幕精品高清av | 中文字幕亚洲欧美在线不卡| 亚洲一卡二卡三卡四卡| 精品一区二区三区不卡| 国产九色精品成人porny| 99久久99久久精品国产片果冻| 欧美在线影院一区二区| 精品国产精品网麻豆系列 | 亚洲午夜久久久久久久久久久 | 亚洲国产一区二区三区青草影视| 麻豆久久一区二区| 91视频在线看| 欧美刺激午夜性久久久久久久 | 国产精品色婷婷| 视频一区欧美精品| 99久久国产综合精品色伊| 欧美电影免费观看高清完整版| 日韩一区欧美小说| 狠狠色狠狠色综合| 欧美性受xxxx黑人xyx性爽| 久久久综合视频| 五月婷婷色综合| av不卡免费在线观看| 精品人在线二区三区| 一区二区三区成人| 成人网在线播放| 欧美成人伊人久久综合网| 亚洲成人在线免费| 成人av影视在线观看| 精品福利在线导航| 亚洲五月六月丁香激情| av日韩在线网站| 国产日本欧美一区二区| 青青草精品视频| 欧美日韩一区二区在线观看| 国产精品久久久久9999吃药| 久久精品国产澳门| 777午夜精品免费视频| 亚洲视频一区二区在线| 国产麻豆9l精品三级站| 欧美r级电影在线观看| 午夜激情综合网| 欧美日韩电影在线| 亚洲图片欧美色图| 欧美在线free| 亚洲综合视频在线| 色综合久久88色综合天天 | 久久久不卡网国产精品二区| 美日韩黄色大片| 日韩欧美不卡在线观看视频| 日韩激情中文字幕| 欧美精品久久久久久久多人混战 | 91高清在线观看| 亚洲激情六月丁香|