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

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

?? spyframe.cpp

?? dc++(一個曾經大量使用的p2p)的源代碼,dc++,開源的p2p源代碼
?? CPP
字號:
/* 
 * Copyright (C) 2001-2003 Jacek Sieka, j_s@telia.com
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

#include "stdafx.h"
#include "../client/DCPlusPlus.h"
#include "Resource.h"

#include "SpyFrame.h"
#include "SearchFrm.h"
#include "WinUtil.h"

#include "../client/ShareManager.h"

SpyFrame* SpyFrame::frame = NULL;

LRESULT SpyFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
	CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP);
	ctrlStatus.Attach(m_hWndStatusBar);

	ctrlSearches.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | 
		WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL, WS_EX_CLIENTEDGE, IDC_RESULTS);

	if(BOOLSETTING(FULL_ROW_SELECT)) {
		ctrlSearches.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT);
	}

	ctrlSearches.SetBkColor(WinUtil::bgColor);
	ctrlSearches.SetTextBkColor(WinUtil::bgColor);
	ctrlSearches.SetTextColor(WinUtil::textColor);

	ctrlSearches.AddColumn(CSTRING(SEARCH_STRING), COLUMN_STRING, COLUMN_STRING);
	ctrlSearches.AddColumn(CSTRING(COUNT), COLUMN_COUNT, COLUMN_COUNT);

	ctrlSearches.setSort(COLUMN_COUNT, ExListViewCtrl::SORT_INT, false);

	SetWindowText(CSTRING(SEARCH_SPY));
	ShareManager::getInstance()->setHits(0);

	bHandled = FALSE;
	return 1;
}

void SpyFrame::UpdateLayout(BOOL bResizeBars /* = TRUE */) {
	RECT rect;
	GetClientRect(&rect);
	// position bars and offset their dimensions
	UpdateBarsPosition(rect, bResizeBars);

	if(ctrlStatus.IsWindow()) {
		CRect sr;
		int w[5];
		ctrlStatus.GetClientRect(sr);

		int tmp = (sr.Width()) > 616 ? 516 : ((sr.Width() > 116) ? sr.Width()-100 : 16);

		w[0] = sr.right - tmp;
		w[1] = w[0] + (tmp-16)*1/4;
		w[2] = w[0] + (tmp-16)*2/4;
		w[3] = w[0] + (tmp-16)*3/4;
		w[4] = w[0] + (tmp-16)*4/4;

		ctrlStatus.SetParts(5, w);
	}

	ctrlSearches.MoveWindow(&rect);
}

LRESULT SpyFrame::onSpeaker(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/) {
	if(wParam == SEARCH) {
		string* x = (string*)lParam;

		total++;

		// Not thread safe, but who cares really...
		perSecond[cur]++;

		int j = ctrlSearches.find(*x);
		if(j == -1) {
			StringList a;
			a.push_back(*x);
			a.push_back(Util::toString(1));
			ctrlSearches.insert(a);
			if(ctrlSearches.GetItemCount() > 500) {
				ctrlSearches.DeleteItem(ctrlSearches.GetItemCount() - 1);
			}
		} else {
			char tmp[32];
			ctrlSearches.GetItemText(j, COLUMN_COUNT, tmp, 32);
			ctrlSearches.SetItemText(j, COLUMN_COUNT, Util::toString(Util::toInt(tmp)+1).c_str());
			if(ctrlSearches.getSortColumn() == COLUMN_COUNT )
				ctrlSearches.resort();
		}
		delete x;

		ctrlStatus.SetText(1, (STRING(TOTAL) + Util::toString(total)).c_str());
		ctrlStatus.SetText(3, (STRING(HITS) + Util::toString(ShareManager::getInstance()->getHits())).c_str());
		double ratio = total > 0 ? ((double)ShareManager::getInstance()->getHits()) / (double)total : 0.0;
		ctrlStatus.SetText(4, (STRING(HIT_RATIO) + Util::toString(ratio)).c_str());
	} else if(wParam == TICK_AVG) {
		float* x = (float*)lParam;
		ctrlStatus.SetText(2, (STRING(AVERAGE) + Util::toString(*x)).c_str());
		delete x;
	}

	return 0;
}

LRESULT SpyFrame::onContextMenu(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) {
	RECT rc;                    // client area of window 
	POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };        // location of mouse click 

	// Get the bounding rectangle of the client area. 
	ctrlSearches.GetClientRect(&rc);
	ctrlSearches.ScreenToClient(&pt); 

	if (PtInRect(&rc, pt) && ctrlSearches.GetSelectedCount() == 1) {
		int i = ctrlSearches.GetNextItem(-1, LVNI_SELECTED);

		CMenu mnu;
		mnu.CreatePopupMenu();
		mnu.AppendMenu(MF_STRING, IDC_SEARCH, CSTRING(SEARCH));
		char* buf = new char[256];
		ctrlSearches.GetItemText(i, COLUMN_STRING, buf, 256);
		searchString = buf;
		delete buf;

		ctrlSearches.ClientToScreen(&pt);
		mnu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, m_hWnd);
		
		return TRUE; 
	}

	return FALSE; 
}

LRESULT SpyFrame::onSearch(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	SearchFrame* pChild = new SearchFrame();
	pChild->setInitial(searchString, 0, SearchManager::SIZE_ATLEAST, SearchManager::TYPE_ANY);
	pChild->setTab(getTab());
	pChild->CreateEx(m_hWndMDIClient);
	return 0;
};

void SpyFrame::onAction(ClientManagerListener::Types type, const string& s) throw() {
	switch(type) {
	case ClientManagerListener::INCOMING_SEARCH:
		{
			string* x = new string(s);
			int i = -1;
			while( (i=x->find('$')) != string::npos) {
				(*x)[i] = ' ';
			}
			PostMessage(WM_SPEAKER, SEARCH, (LPARAM)x);
		}
		break;
	}
}

void SpyFrame::onAction(TimerManagerListener::Types type, u_int32_t) throw() {
	switch(type) {
	case TimerManagerListener::SECOND: 
		float* f = new float(0.0);
		for(int i = 0; i < AVG_TIME; ++i) {
			(*f) += (float)perSecond[i];
		}
		(*f) /= AVG_TIME;
		
		perSecond[++cur] = 0;
		PostMessage(WM_SPEAKER, TICK_AVG, (LPARAM)f);
	}
}

/**
 * @file
 * $Id: SpyFrame.cpp,v 1.11 2003/06/20 10:49:27 arnetheduck Exp $
 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频在线观看一区二区| 欧美人与z0zoxxxx视频| 久久国产精品99久久久久久老狼| 亚洲人亚洲人成电影网站色| 亚洲婷婷综合色高清在线| 亚洲欧洲三级电影| 一区二区三区四区视频精品免费 | 国产成人亚洲综合a∨婷婷图片| 久热成人在线视频| 精品亚洲aⅴ乱码一区二区三区| 麻豆一区二区在线| 国产精品主播直播| eeuss鲁一区二区三区| 91免费在线看| 欧美日韩免费一区二区三区 | 最新日韩在线视频| 亚洲欧美日韩成人高清在线一区| 亚洲欧美日韩成人高清在线一区| 亚洲已满18点击进入久久| 五月婷婷另类国产| 久久99精品久久只有精品| 国产成人亚洲精品青草天美| 99久久久无码国产精品| 欧美欧美欧美欧美| 久久嫩草精品久久久精品一| 亚洲色图欧美在线| 伦理电影国产精品| 波多野结衣在线一区| 欧美性受xxxx黑人xyx性爽| 日韩久久久久久| 国产精品家庭影院| 日韩av中文字幕一区二区| 成人小视频在线| 7777精品伊人久久久大香线蕉最新版| 国产亚洲成av人在线观看导航| 亚洲精品国久久99热| 免费不卡在线观看| av高清久久久| 日韩欧美国产三级电影视频| 国产精品麻豆99久久久久久| 丝袜诱惑亚洲看片| 91免费看`日韩一区二区| 欧美xxxxxxxx| 亚洲丰满少妇videoshd| 成人久久视频在线观看| 欧美一级夜夜爽| 亚洲视频网在线直播| 美女视频网站久久| 欧美日韩在线一区二区| 欧美激情一二三区| 久草中文综合在线| 欧美日韩国产综合草草| 最新中文字幕一区二区三区| 国产精品原创巨作av| 91精品国产综合久久福利| 亚洲精品成人少妇| 99视频热这里只有精品免费| 久久伊人中文字幕| 婷婷丁香久久五月婷婷| 91在线高清观看| 国产精品国产自产拍在线| 国精产品一区一区三区mba视频| 在线观看日韩一区| 亚洲视频狠狠干| 岛国一区二区三区| 久久久国产午夜精品| 韩国视频一区二区| 日韩你懂的电影在线观看| 日韩经典一区二区| 91精品免费在线| 婷婷激情综合网| 91精品免费观看| 日本不卡视频一二三区| 在线播放国产精品二区一二区四区| 亚洲欧美日韩国产综合在线| 91片黄在线观看| 亚洲视频中文字幕| 91浏览器入口在线观看| 亚洲精品日韩综合观看成人91| 丁香啪啪综合成人亚洲小说| 亚洲国产成人在线| 99精品视频中文字幕| 自拍偷拍亚洲激情| 欧洲一区二区三区免费视频| 亚洲一本大道在线| 欧美电影一区二区| 久久精品国产99国产精品| 精品国产99国产精品| 韩国理伦片一区二区三区在线播放| 日韩一区二区在线看| 久久精品国产澳门| 欧美高清在线一区| 欧美系列一区二区| 六月婷婷色综合| 国产精品视频一二三| 91小视频免费观看| 日韩精品乱码免费| 久久久亚洲午夜电影| 91麻豆文化传媒在线观看| 亚洲无线码一区二区三区| 日韩精品一区二区三区老鸭窝| 国产精品一线二线三线| 亚洲乱码国产乱码精品精98午夜| 欧美日韩成人激情| 国产福利一区在线| 亚洲午夜免费电影| 久久色.com| 在线免费观看日韩欧美| 国产又黄又大久久| 亚洲免费资源在线播放| 日韩欧美综合在线| 成人av网站免费观看| 五月婷婷综合激情| 国产精品福利av| 日韩精品一区二区三区在线| 99久久精品国产精品久久| 日韩高清中文字幕一区| 国产欧美日韩综合| 51精品秘密在线观看| aaa欧美色吧激情视频| 老司机午夜精品| 一区二区三区中文在线| 久久影音资源网| 欧美久久久久久蜜桃| 99国产欧美另类久久久精品| 精品一区中文字幕| 午夜精品久久久久久久久久久| 国产精品视频麻豆| 精品国产成人在线影院| 精品视频色一区| 在线日韩av片| 91色|porny| jvid福利写真一区二区三区| 理论片日本一区| 日韩av在线播放中文字幕| 一区二区三区欧美日韩| 亚洲国产精品精华液2区45| 精品美女被调教视频大全网站| 欧美日韩中文字幕精品| 91视视频在线观看入口直接观看www | av在线综合网| 国产高清不卡一区二区| 国产真实乱子伦精品视频| 视频一区二区三区在线| 亚洲一区在线电影| 一区二区高清视频在线观看| 中文字幕一区二区三区乱码在线| 国产精品麻豆99久久久久久| 国产欧美日韩精品在线| 国产亚洲精品福利| 国产精品久久久久久久久果冻传媒| 久久久久国色av免费看影院| 久久这里只有精品视频网| 337p粉嫩大胆噜噜噜噜噜91av| 日韩久久久久久| 2欧美一区二区三区在线观看视频| 欧美一级黄色录像| 欧美精品一区二区不卡| 国产欧美日本一区视频| 国产精品视频线看| 亚洲精品成a人| 午夜欧美2019年伦理| 日本aⅴ亚洲精品中文乱码| 捆绑紧缚一区二区三区视频| 精品一区免费av| www.日韩在线| 色综合天天综合给合国产| 欧美在线看片a免费观看| 欧美性xxxxxxxx| 欧美一级欧美一级在线播放| 久久免费电影网| 亚洲靠逼com| 免费亚洲电影在线| 成人午夜又粗又硬又大| 91精品福利视频| 欧美一级黄色录像| 国产欧美精品一区二区色综合| 亚洲色图19p| 久久 天天综合| 色婷婷综合久久久中文一区二区| 欧美日韩成人综合| 欧美激情在线看| 天天综合日日夜夜精品| 国产成人自拍高清视频在线免费播放| 丁香激情综合国产| 欧美一区二区三区日韩| 国产亚洲欧美在线| 亚洲二区在线观看| 成人午夜视频在线观看| 91精品麻豆日日躁夜夜躁| 国产精品―色哟哟| 免费成人av在线| 色婷婷久久久亚洲一区二区三区| 日韩视频免费观看高清完整版在线观看 | 久久av资源网| 日本二三区不卡| 国产午夜久久久久| 日本网站在线观看一区二区三区 | 人人爽香蕉精品| 91在线免费视频观看|