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

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

?? senddlg.cpp

?? 飛鴿傳書軟件的源代碼 c++編寫的 能夠正常運行
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
				if (strcmp(selectGroup, hostArray[lvi.iItem]->groupName) == 0 && IsSameHost(&hostArray[lvi.iItem]->hostSub, msgMng->GetLocalHost()) != TRUE) {
					lvi.stateMask = lvi.state = LVIS_FOCUSED|LVIS_SELECTED;
					SendDlgItemMessage(HOST_LIST, LVM_SETITEMSTATE, lvi.iItem, (LPARAM)&lvi);
					if (ensure == FALSE) {
						ensure = TRUE;
						SendDlgItemMessage(HOST_LIST, LVM_ENSUREVISIBLE, lvi.iItem, 0);
						SendDlgItemMessage(HOST_LIST, LVM_SETSELECTIONMARK, 0, lvi.iItem);
					}
				}
				else if (ctl_on == FALSE) {
					lvi.stateMask = LVIS_SELECTED;
					lvi.state = 0;
					SendDlgItemMessage(HOST_LIST, LVM_SETITEMSTATE, lvi.iItem, (LPARAM)&lvi);
				}
			}
		}
		return	TRUE;
	}

	return	FALSE;
}

void TSendDlg::GetOrder(void)
{
	int		order[MAX_SENDWIDTH], orderCnt=0;

	if (SendDlgItemMessage(HOST_LIST, LVM_GETCOLUMNORDERARRAY, maxItems, (LPARAM)order) == FALSE) {
		MessageBox(COMCTL_MSGSTR, CANTGETORDER_MSGSTR);
		return;
	}
	for (int cnt=0; cnt < MAX_SENDWIDTH; cnt++) {
		if (GetItem(ColumnItems, FullOrder[cnt]))
			FullOrder[cnt] = items[order[orderCnt++]];
	}
	memcpy(cfg->SendOrder, FullOrder, sizeof(FullOrder));
}

/*
	WM_SYSCOMMAND CallBack
*/
BOOL TSendDlg::EvSysCommand(WPARAM uCmdType, POINTS pos)
{
	switch (uCmdType)
	{
	case MENU_SAVEPOS:
	case MENU_SAVESIZE:
	case MENU_SAVECOLUMN:
	case MENU_FINDDLG:
	case MENU_EDITFONT: case MENU_LISTFONT:
	case MENU_DEFAULTFONT:
	case MENU_NORMALSIZE:
	case MENU_MEMBERDISP:
	case MENU_FILEADD:
	case MENU_FOLDERADD:
		return	EvCommand(0, uCmdType, 0);
	}

	return	FALSE;
}

/*
	MenuInit Event CallBack
*/
BOOL TSendDlg::EventInitMenu(UINT uMsg, HMENU hMenu, UINT uPos, BOOL fSystemMenu)
{
	switch (uMsg)
	{
	case WM_INITMENU:
		{
			::ModifyMenu(hMenu, MENU_SAVEPOS, MF_BYCOMMAND|(cfg->SendSavePos ? MF_CHECKED :  0), MENU_SAVEPOS, SAVEPOS_MSGSTR);
		}
		return	TRUE;
	}
	return	FALSE;
}

/*
	Color Event CallBack
*/
BOOL TSendDlg::EventCtlColor(UINT uMsg, HDC hDcCtl, HWND hWndCtl, HBRUSH *result)
{
#if 0
	COLORREF	bkref	= 0x0000ff;
	COLORREF	foreref	= 0x00ff00;
	COLORREF	dlgref	= 0xff0000;
	COLORREF	statref	= 0xffff00;

	switch (uMsg) {
	case WM_CTLCOLORDLG:	// dlg 抧
		{ static HBRUSH hb; if (hb == NULL) hb = ::CreateSolidBrush(dlgref); *result = hb; }
//		SetTextColor(hDcCtl, foreref);
//		SetBkColor(hDcCtl, dlgref);
		break;
	case WM_CTLCOLOREDIT:	// edit 抧
		{ static HBRUSH hb; if (hb == NULL) hb = ::CreateSolidBrush(bkref); *result = hb; }
		SetTextColor(hDcCtl, foreref);
		SetBkColor(hDcCtl, bkref);
		break;
	case WM_CTLCOLORSTATIC:	// static control & check box 抧
		if (GetDlgItem(SEPARATE_STATIC) == hWndCtl) { static HBRUSH hb; if (hb == NULL) hb = ::CreateSolidBrush(bkref); *result = hb; } else { static HBRUSH hb; if (hb == NULL) hb = ::CreateSolidBrush(dlgref); *result = hb; }
		SetTextColor(hDcCtl, statref);
		SetBkColor(hDcCtl, dlgref);
		break;
	}
	return	TRUE;
#else
	return	FALSE;
#endif
}

/*
	MenuSelect Event CallBack
*/
BOOL TSendDlg::EvMenuSelect(UINT uItem, UINT fuFlag, HMENU hMenu)
{
	if (uItem >= MENU_GROUP_START && uItem < MENU_GROUP_START + (UINT)memberCnt)
		::GetMenuString(hMenu, uItem, selectGroup, sizeof(selectGroup), MF_BYCOMMAND);
	return	FALSE;
}

/*
	DropFiles Event CallBack
*/
BOOL TSendDlg::EvDropFiles(HDROP hDrop)
{
	char	buf[MAX_BUF];
	int		max = ::DragQueryFile(hDrop, ~0UL, 0, 0), cnt;

	if (shareInfo == NULL)
		shareInfo = shareMng->CreateShare(packetNo);

	for (cnt=0; cnt < max; cnt++)
	{
		if (::DragQueryFile(hDrop, cnt, buf, sizeof(buf)) <= 0)
			break;
		shareMng->AddFileShare(shareInfo, buf);
	}
	::DragFinish(hDrop);

	if (shareInfo->fileCnt == 0)
		return	FALSE;

	SetFileButton(this, FILE_BUTTON, shareInfo);
	EvSize(SIZE_RESTORED, 0, 0);

	return	TRUE;
}

char *TSendDlg::GetListItemStr(Host *host, int item)
{
	switch (items[item]) {
	case SW_NICKNAME:
		return	*host->nickName ? host->nickName : host->hostSub.userName;
	case SW_USER:
		return	host->hostSub.userName;
	case SW_ABSENCE:
		return	(host->hostStatus & IPMSG_ABSENCEOPT) ? "*" : "";
	case SW_PRIORITY:
		static char buf[4];
		if (host->priority == DEFAULT_PRIORITY) buf[0] = '-', buf[1] = 0;
		else if (host->priority <= 0) buf[0] = 'X', buf[1] = 0;
		else wsprintf(buf, "%d", cfg->PriorityMax - (host->priority - DEFAULT_PRIORITY) / PRIORITY_OFFSET);
		return	buf;
	case SW_GROUP:
		return	host->groupName;
	case SW_HOST:
		return	host->hostSub.hostName;
	case SW_IPADDR:
		return	inet_ntoa(*(LPIN_ADDR)&host->hostSub.addr);
	}
	return	NULL;
}

/*
	Notify Event CallBack
*/
BOOL TSendDlg::EvNotify(UINT ctlID, NMHDR *pNmHdr)
{
	if (pNmHdr->code == LVN_COLUMNCLICK) {
		NM_LISTVIEW	*nmLv = (NM_LISTVIEW *)pNmHdr;
		if (sortItem == items[nmLv->iSubItem]) {
			if ((sortRev = !sortRev) == FALSE && sortItem == 0)
				sortItem = -1;
		}
		else {
			sortItem = items[nmLv->iSubItem];
			sortRev = FALSE;
		}
		DelAllHost();
		for (int cnt=0; cnt < hosts->HostCnt(); cnt++)
			AddHost(hosts->GetHost(cnt));
		return	TRUE;
	}

	if (pNmHdr->code == LVN_GETDISPINFO) {
		LV_DISPINFO		*dispInfo = (LV_DISPINFO *)pNmHdr;
		Host	*host = (Host *)dispInfo->item.lParam;

		dispInfo->item.pszText = GetListItemStr(host, dispInfo->item.iSubItem);
		return	TRUE;
	}

	return	FALSE;
}


/*
	WM_MOUSEMOVE CallBack
*/
BOOL TSendDlg::EvMouseMove(UINT fwKeys, POINTS pos)
{

	if ((fwKeys & MK_LBUTTON) && captureMode)
	{
		if (lastYPos == (int)pos.y)
			return	TRUE;
		lastYPos = (int)pos.y;

		RECT	tmpRect;
		int		min_y = (5 * (item[refresh_item].y + item[refresh_item].cy) - 3 * item[separate_item].y) / 2;

		if (pos.y < min_y)
			pos.y = min_y;

		currentMidYdiff += (int)(short)(pos.y - dividYPos);
		EvSize(SIZE_RESTORED, 0, 0);
		GetWindowRect(&tmpRect);
		MoveWindow(tmpRect.left, tmpRect.top, tmpRect.right - tmpRect.left, tmpRect.bottom - tmpRect.top, TRUE);
		dividYPos = (int)pos.y;
		return	TRUE;
	}
	return	FALSE;
}

BOOL TSendDlg::EventButton(UINT uMsg, int nHitTest, POINTS pos)
{
	switch (uMsg)
	{
	case WM_LBUTTONUP:
		if (captureMode)
		{
			captureMode = FALSE;
			::ReleaseCapture();
			return	TRUE;
		}
		break;
	}
	return	FALSE;
}

/*
	Size 曄峏
*/
BOOL TSendDlg::EvSize(UINT fwSizeType, WORD nWidth, WORD nHeight)
{
	if (fwSizeType != SIZE_RESTORED && fwSizeType != SIZE_MAXIMIZED)
		return	FALSE;

	GetWindowRect(&rect);
	int	xdiff = (rect.right - rect.left) - (orgRect.right - orgRect.left);
	int ydiff = (rect.bottom - rect.top) - (orgRect.bottom - orgRect.top);

	HDWP	hdwp = ::BeginDeferWindowPos(max_senditem);
	WINPOS	*wpos;
	BOOL	isFileBtn = shareInfo && shareInfo->fileCnt > 0 ? TRUE : FALSE;
	UINT	dwFlg = (IsNewShell() ? SWP_SHOWWINDOW : SWP_NOREDRAW) | SWP_NOZORDER;
	if (hdwp == NULL)
		return	FALSE;

// 僒僀僘偑彫偝偔側傞応崌偺挷惍抣偼丄Try and Error(^^;
	wpos = &item[host_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(HOST_LIST), NULL, wpos->x, wpos->y, wpos->cx + xdiff, wpos->cy + currentMidYdiff, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[member_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(MEMBERCNT_TEXT), NULL, wpos->x + xdiff, wpos->y + (currentMidYdiff >= 0 ? 0 : currentMidYdiff / 2), wpos->cx, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[refresh_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(REFRESH_BUTTON), NULL, wpos->x + xdiff, wpos->y + (currentMidYdiff >= 0 ? 0 : currentMidYdiff * 2 / 3), wpos->cx, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[file_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(FILE_BUTTON), NULL, wpos->x, wpos->y + currentMidYdiff, wpos->cx + xdiff, wpos->cy, isFileBtn ? dwFlg : (SWP_HIDEWINDOW|SWP_NOZORDER))) == NULL)
		return	FALSE;

	wpos = &item[edit_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(SEND_EDIT), NULL, wpos->x, (isFileBtn ? wpos->y : item[file_item].y) + currentMidYdiff, wpos->cx + xdiff, wpos->cy + ydiff - currentMidYdiff + (isFileBtn ? 0 : wpos->y - item[file_item].y), dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[ok_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(IDOK), NULL, wpos->x + (xdiff >= 0 ? xdiff / 2 : xdiff * 6 / 7), wpos->y + ydiff, wpos->cx, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[passwd_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(PASSWORD_CHECK), NULL, wpos->x + (xdiff >= 0 ? xdiff / 2 : xdiff), wpos->y + ydiff, wpos->cx, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[secret_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(SECRET_CHECK), NULL, wpos->x + (xdiff >= 0 ? xdiff / 2 : xdiff), wpos->y + ydiff, wpos->cx, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	wpos = &item[separate_item];
	if ((hdwp = ::DeferWindowPos(hdwp, GetDlgItem(SEPARATE_STATIC), NULL, wpos->x, wpos->y + currentMidYdiff, wpos->cx + xdiff, wpos->cy, dwFlg)) == NULL)
		return	FALSE;

	EndDeferWindowPos(hdwp);

	if (!IsNewShell())
		::InvalidateRgn(hWnd, NULL, TRUE);
	else if (captureMode)
	{
		::InvalidateRgn(GetDlgItem(PASSWORD_CHECK), NULL, TRUE);
		::InvalidateRgn(GetDlgItem(SECRET_CHECK), NULL, TRUE);
		::InvalidateRgn(GetDlgItem(IDOK), NULL, TRUE);
	}

	return	TRUE;
}

/*
	嵟戝/嵟彫 Size 愝掕
*/
BOOL TSendDlg::EvGetMinMaxInfo(MINMAXINFO *info)
{
	info->ptMinTrackSize.x = (orgRect.right - orgRect.left) * 2 / 3;
	info->ptMinTrackSize.y = (item[separate_item].y + item[separate_item].cy + currentMidYdiff) + (shareInfo && shareInfo->fileCnt ? 130 : 95);
	info->ptMaxTrackSize.y = 10000;		//y曽岦偺惂尷傪奜偡

	return	TRUE;
}

/*
	Context Menu event call back
*/
BOOL TSendDlg::EvContextMenu(HWND childWnd, POINTS pos)
{
	PopupContextMenu(pos);
	return	TRUE;
}

BOOL TSendDlg::EvMeasureItem(UINT ctlID, MEASUREITEMSTRUCT *lpMis)
{
	return	FALSE;
}

BOOL TSendDlg::EvDrawItem(UINT ctlID, DRAWITEMSTRUCT *lpDis)
{
	return	FALSE;
}

/*
	User掕媊 Event CallBack
*/
BOOL TSendDlg::EventUser(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg)
	{
	case WM_DELAYSETTEXT:
		SetQuoteStr(msg.msgBuf, cfg->QuoteStr);
		return	TRUE;

	case WM_SENDDLG_RESIZE:
		if (captureMode != TRUE)
		{
			POINT	pt;
			captureMode = TRUE;
			::SetCapture(hWnd);
			::GetCursorPos(&pt);
			::ScreenToClient(hWnd, &pt);
			dividYPos = pt.y;
			lastYPos = 0;
		}
		return	TRUE;
	}
	return	FALSE;
}

/*
	WM_TIMER event call back
	憲怣妋擣/嵞憲梡
*/
BOOL TSendDlg::EvTimer(WPARAM _timerID, TIMERPROC proc)
{
	if (IsSendFinish())
	{
		::KillTimer(hWnd, IPMSG_SEND_TIMER);
		if (timerID == IPMSG_DUMMY_TIMER)	// 嵞擖傛偗
			return	FALSE;
		timerID = IPMSG_DUMMY_TIMER;
		::PostMessage(GetMainWnd(), WM_SENDDLG_EXIT, 0, (LPARAM)this);
		return	TRUE;
	}
	if (retryCnt++ <= cfg->RetryMax)
	{
		SendMsgSub();
		return	TRUE;
	}

	::KillTimer(hWnd, IPMSG_SEND_TIMER);
	char *buf = new char [MAX_UDPBUF];
	*buf = 0;

	for (int cnt=0; cnt < sendEntryNum; cnt++)
	{
		if (sendEntry[cnt].Status() != ST_DONE)
		{
			MakeListString(cfg, sendEntry[cnt].Host(), buf + strlen(buf));
			strcat(buf, "\r\n");
		}
	}
	strcat(buf, RETRYSEND_MSGSTR);
	int ret = ::MessageBox(hWnd, buf, MSG_STR, MB_RETRYCANCEL|MB_ICONINFORMATION);
	delete [] buf;

	if (ret == IDRETRY && IsSendFinish() != TRUE)
	{
		retryCnt = 0;
		SendMsgSub();
		timerID = IPMSG_SEND_TIMER;
		if (::SetTimer(hWnd, IPMSG_SEND_TIMER, cfg->RetryMSec, NULL) == 0)
			::PostMessage(GetMainWnd(), WM_SENDDLG_EXIT, 0, (LPARAM)this);
	}
	else
		::PostMessage(GetMainWnd(), WM_SENDDLG_EXIT, 0, (LPARAM)this);

	return	TRUE;
}

/*
	憲怣拞偼丄Show偺visible傪偼偠偔
*/
void TSendDlg::Show(int mode)
{
	if (timerID == 0 && hWnd)
		TWin::Show(mode);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区四区在线观看| 精品福利av导航| 91.com视频| 911精品产国品一二三产区| 日韩欧美一级二级三级久久久| 欧美成人免费网站| 国产精品电影一区二区| 亚洲一级二级在线| 韩国av一区二区三区| voyeur盗摄精品| 欧美精品久久一区| 国产日韩v精品一区二区| 亚洲精品乱码久久久久久黑人 | 色av综合在线| 日韩一级高清毛片| 中文字幕一区二区在线播放| 亚洲va中文字幕| 国产精品911| 欧美色男人天堂| 男女男精品网站| 成人午夜电影网站| 亚洲成a人片在线不卡一二三区| 一区二区三区在线影院| 国产一区在线观看麻豆| 色噜噜久久综合| 欧美一区欧美二区| 国产精品久久久久久久久搜平片| 国产中文字幕精品| 国产美女一区二区三区| 91成人免费网站| 久久国产麻豆精品| 成人av在线观| 欧美大片拔萝卜| 亚洲伊人伊色伊影伊综合网| 粉嫩嫩av羞羞动漫久久久| 欧美精品成人一区二区三区四区| 亚洲国产激情av| 精品综合久久久久久8888| 欧美性xxxxxx少妇| 国产精品蜜臀在线观看| 韩国精品免费视频| 欧美一区二区三区四区视频| 亚洲精选视频在线| 成人性生交大片免费看中文网站| 日韩欧美国产系列| 天天综合天天做天天综合| 色综合天天狠狠| 国产精品卡一卡二| 国产中文一区二区三区| 日韩视频免费直播| 婷婷六月综合亚洲| 欧美在线高清视频| 一区二区成人在线视频 | 欧美久久久久久久久久| 日韩美女视频一区二区| 91精品欧美一区二区三区综合在| 最新不卡av在线| 粉嫩aⅴ一区二区三区四区| www激情久久| 久久99精品国产| 日韩久久久久久| 美腿丝袜亚洲色图| 日韩三级视频在线观看| 日本美女一区二区三区| 欧美日韩高清不卡| 亚洲超丰满肉感bbw| 精品视频一区二区不卡| 夜夜揉揉日日人人青青一国产精品| 99riav一区二区三区| 国产精品传媒视频| 国产aⅴ综合色| 日本一区二区三区电影| 国产成人免费在线观看不卡| 精品99999| 国产成人综合在线观看| 久久精品网站免费观看| 成人午夜精品在线| 国产精品女人毛片| 99久久免费国产| 亚洲私人影院在线观看| 91论坛在线播放| 一区二区三区不卡在线观看 | 日韩一区日韩二区| 不卡的电影网站| 亚洲欧洲日本在线| 色综合天天视频在线观看| 亚洲图片一区二区| 欧美日韩中文字幕一区| 日韩av午夜在线观看| 欧美一区二区网站| 九九国产精品视频| 日本一区二区三区在线观看| 成人免费av在线| 久久久精品综合| 91色视频在线| 一区二区三区四区不卡视频| 在线观看亚洲a| 日韩电影一二三区| 国产午夜一区二区三区| 色综合一区二区| 亚洲一级二级三级| 日韩美女视频一区二区在线观看| 国产黄色成人av| 国产成人精品亚洲午夜麻豆| 中文字幕在线观看不卡| 欧美在线视频不卡| 久久精品二区亚洲w码| 国产精品嫩草99a| 欧美色手机在线观看| 久久超碰97中文字幕| 国产精品欧美经典| 欧美日本国产视频| 国产精品亚洲一区二区三区在线 | 91成人国产精品| 另类小说视频一区二区| 欧美激情一区二区| 欧美天天综合网| 韩国一区二区三区| 亚洲精品一二三区| 欧美一区三区二区| 成人18视频在线播放| 日韩成人免费看| 中文字幕在线免费不卡| 欧美一级久久久| 国产白丝网站精品污在线入口| 亚洲一区视频在线观看视频| 久久人人爽人人爽| 欧美视频三区在线播放| 国产精品一区二区男女羞羞无遮挡 | 亚洲成人精品一区| 亚洲国产精品高清| 91精品视频网| 91福利国产精品| 国产一区二区在线观看免费| 亚洲精品亚洲人成人网在线播放| 精品国产乱码久久久久久闺蜜 | 国产1区2区3区精品美女| 欧美在线观看禁18| 美女视频一区二区| 久久精品欧美日韩| 亚洲宅男天堂在线观看无病毒| 中文字幕一区二区三区精华液| 成人黄色小视频在线观看| 亚洲国产毛片aaaaa无费看 | 欧美成人精品高清在线播放| 亚洲妇熟xx妇色黄| 欧美日本在线播放| 午夜久久久久久久久| 成人精品国产一区二区4080| 亚洲网友自拍偷拍| 国产三级欧美三级日产三级99| 国产成人在线视频免费播放| 久久午夜羞羞影院免费观看| 色综合天天综合狠狠| 免费观看一级特黄欧美大片| 成人欧美一区二区三区白人| 波多野结衣精品在线| 亚洲一区二区三区四区在线观看 | 欧美激情一区二区三区在线| 欧美日韩日日摸| 成年人网站91| 国产精品自产自拍| 热久久免费视频| 亚洲一区自拍偷拍| 亚洲欧美影音先锋| 国产精品久久久久影院老司| 久久尤物电影视频在线观看| 777xxx欧美| 欧美三级资源在线| 日本精品裸体写真集在线观看| 粉嫩aⅴ一区二区三区四区 | 国产精品久久久久天堂| 久久新电视剧免费观看| 欧美电影精品一区二区| 欧美日韩精品福利| 欧美三级在线看| 在线免费av一区| 色狠狠一区二区| 色诱亚洲精品久久久久久| 成人精品视频网站| 成人毛片视频在线观看| 国产成人免费av在线| 国产成人精品免费在线| 国产成人免费高清| 成人av资源站| 91小视频在线| 99国产精品久久久久| 99免费精品在线| 91国偷自产一区二区使用方法| 99久久99久久免费精品蜜臀| 99r国产精品| 欧美性受极品xxxx喷水| 欧美日韩一区二区三区免费看| 欧美亚洲一区二区在线观看| 欧美丝袜自拍制服另类| ●精品国产综合乱码久久久久| 色狠狠色狠狠综合| 免费成人在线观看| 日韩av不卡在线观看| 久久久久久久久久久99999|