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

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

?? editwndmgr.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// EditWndMgr.cpp: implementation of the CEditWndMgr class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Chat.h"
#include "Hangul.h"
#include "menu.h"
#include "dragon.h"
#include "Hong_Sub.h"
#include "Map.h"
#include "CharDataTable.h"
#include "TeamBattle.h"
#include "GameProc.h"
#include "LineCommand.h"
#include "Tool.h"
#include "Hong_Sprite.h"
#include "directsound.h"
#include "SmallMenu.h"
#include "resource.h"
#include "MenuSet.h"
#include "SmallMenuSet.h"
#include "smallmenu.h"
#include "EditWndMgr.h"

bool g_ControlKeyOn;

extern void DoButtonCheckOfMenu( int i, int j );
extern void DoQuickmemoryByKeyInput(const int iInputKey,bool bIsDikCheck);

#ifdef STRICT
	WNDPROC	g_ParentProcAddress = NULL;
#else
	FARPROC	g_ParentProcAddress = NULL;
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CEditWndMgr EWndMgr;
CEditWndMgr::CEditWndMgr()
{
	Clear();
}

CEditWndMgr::~CEditWndMgr()
{
	Clear();
}

HWND SetFocus2( const int iIndex)//021001 lsw
{
	return EWndMgr.SetWndFocus(iIndex);
}

HWND CEditWndMgr::SetWndFocus(int iIndex)
{
	HWND hWnd = 0;
#ifdef STRICT
	WNDPROC	ProcAddress;
#else
	FARPROC	ProcAddress;
#endif
	for(wndItor itor = vtWnd.begin() ;itor != vtWnd.end();itor++)//牢鄲膠客 老摹竅綽 擴檔快甫 罐綽促
	{
		if(iIndex == (*itor).iIndex)
		{
			hWnd		= (*itor).hWnd;
			ProcAddress = (*itor).ProcAddress; 
			break;
		}
	}
	
	for(wndItor itor2 = vtWnd.begin() ;itor2 != vtWnd.end();itor2++)//NowFocus俊 拱妨 霖促
	{
		if(HWND_NOW_FOCUS == (*itor2).iIndex)
		{
			(*itor2).hWnd = hWnd;
			(*itor).ProcAddress = ProcAddress;
		}
	}
	return SetFocus( hWnd );
}

int CEditWndMgr::CheckSysKey( UINT uiMessage, WPARAM wParam )
{
	if(WM_SYSKEYDOWN == uiMessage)
	{
		switch( wParam )
		{
		case VK_F4 :
			{
				CallMenu( MN_SYSTEM_LOGOUT, 193, 75, true ); 
				return 0;
			}break;
		}
	}
	return 1;
}

int CEditWndMgr::InitEditWnd()
{
	t_HWndInfo HwndInfo;

	HwndInfo.iIndex = HWND_NOW_FOCUS;
	HwndInfo.hWnd = NULL;
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_CHAT_INPUT;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD , 1,1, 500, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )ChatWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )ChatWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_CHAT_TARGET_INPUT;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD, 1,1, 150, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )ChatTargetWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )ChatTargetWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_1;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL , 1,1, 270, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_2;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL , 1,1, 270, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_3;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL |ES_WANTRETURN|ES_AUTOVSCROLL|ES_MULTILINE, 1,1, 265, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_BBS;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL , 1,1, 265, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )CommonEditWndProc );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_MAIL1;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL , 1,1, 265, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc1 );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc1 );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_MAIL2;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL , 1,1, 265, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc2 );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc2 );
#endif
	vtWnd.push_back(HwndInfo);

	HwndInfo.iIndex = HWND_MAIL3;
	HwndInfo.hWnd = ::CreateWindow( "edit", NULL, WS_CHILD| ES_AUTOHSCROLL |ES_AUTOVSCROLL| ES_WANTRETURN | ES_MULTILINE, 1,1, 265, 20, g_hwndMain, NULL, g_hInstance, NULL );
	if(!HwndInfo.hWnd){JustMsg("Edit Window Create Failed(1)"); return 0;}
#ifdef STRICT
	HwndInfo.ProcAddress = ( WNDPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc3 );
#else
	HwndInfo.ProcAddress = ( FARPROC )::SetWindowLong( HwndInfo.hWnd, GWL_WNDPROC, ( LONG )MailWndProc3 );
#endif
	vtWnd.push_back(HwndInfo);

	g_ParentProcAddress = HwndInfo.ProcAddress;
	
	HwndInfo.iIndex = HWND_GAME_MAIN;//霸烙擴檔快 殿廢
	HwndInfo.hWnd  = g_hwndMain;
	vtWnd.push_back(HwndInfo);
	return 1;
}

void CEditWndMgr::DestroyEditWnd()
{
	for(wndItor itor = vtWnd.begin() ;itor != vtWnd.end();itor++)
	{
		if(HWND_NOW_FOCUS != (*itor).iIndex)
		{
			if((*itor).hWnd)
			{
				DestroyWindow((*itor).hWnd);
				(*itor).hWnd = NULL;
			}
		}
	}
}

void CEditWndMgr::ClearAllTxt()//澇仿等 郴儈闌 葛滴 瘤礦聰促.//""甫 持綽疤聰促.
{
	for(int i = HWND_NOW_FOCUS;  HWND_GAME_MAIN >i;i++)
	{
		ClearTxt(i);
	}
}

void CEditWndMgr::ClearTxt(const int iIndex)//急琶茄 俊叼飄 冠膠狼 郴儈闌 瘤礦聰促.
{	
	for(wndItor itor = vtWnd.begin() ;itor != vtWnd.end();itor++)
	{
		if(iIndex == (*itor).iIndex )
		{
			SetTxt(iIndex,"");
		}
	}
}

void CEditWndMgr::Clear()
{
	DestroyEditWnd();
	vtWnd.clear();
}

//俊叼飄 冠膠俊 楷搬瞪 橇肺矯廉
LRESULT CALLBACK CommonEditWndProc( HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam )
{
	if( EWndMgr.CheckSysKey( uiMessage, wParam ) == 0 ) return 0;

	switch ( uiMessage )
	{
	case WM_INPUTLANGCHANGE :	
		{
			::CheckChineseInput( hWnd, lParam );
		}break;

	case	WM_KEYDOWN:
		{
			int		nVirtKey = ( int )wParam;	// virtual-key code 
			LPARAM	lKeyData = lParam;			// key data
			switch ( nVirtKey )
			{
				case	VK_LEFT:
				case	VK_RIGHT:
				case	VK_UP:
				case	VK_DOWN:
				case	VK_HOME:
				case	VK_INSERT:
				case	VK_DELETE:
				{
					return	0;
				}break;
			}
		}break;
	case WM_KEYUP:
		{
			int		nVirtKey = ( int )wParam;	// virtual-key code 
			LPARAM	lKeyData = lParam;			// key data
			switch ( nVirtKey )
			{
			case	VK_RETURN:
			case	VK_TAB:		
				{
					if(SMenu[MN_GUILD_REGIST_DEGREE].bActive) 
					{
						SMenu[MN_GUILD_REGIST_DEGREE].work++;
						SMenu[MN_GUILD_REGIST_DEGREE].work %= 5;
						SetWindowText( hWnd, "" );
					}
					if(SMenu[MN_LOGIN].bActive)//皋牢 牢磐其撈膠 澇仿 傈撈扼擱
					{
						switch(EWndMgr.GetFocusWndIndex())
						{
						case HWND_1:
							{
								id_password = false;
								EWndMgr.SetWndFocus(HWND_2);
							}break;
						case HWND_2:
							{
								switch (nVirtKey)
								{
								case	VK_RETURN:
									{
										SMenu[MN_LOGIN].nField[0].fCheakFlag=TRUE;
										EWndMgr.SetWndFocus(HWND_GAME_MAIN);
									}break;
								case	VK_TAB:	
									{
										id_password = true;
										EWndMgr.SetWndFocus(HWND_1);
									}break;
								}
							}break;
						default:
							{
							}break;
						}
					}
					g_aCurrentKeys[DIK_RETURN] = 0;
				}break;	
			}
		}break;
	case WM_CHAR: 
		{
			int		nVirtKey = ( int )wParam;	// virtual-key code 
			LPARAM	lKeyData = lParam;			// key data

			switch ( nVirtKey )//浚磐唱 徘 摹擱 穢穢 家府唱綽芭 規瘤
			{
				case	VK_RETURN: return 0;
				case	VK_TAB: return 0;
			}
		}break;
	}
	return	CallWindowProc( g_ParentProcAddress, hWnd, uiMessage, wParam, lParam );
}

LRESULT CALLBACK ChatWndProc( HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam )
{
	if( EWndMgr.CheckSysKey( uiMessage, wParam ) == 0 ) return 0;

	switch ( uiMessage )
	{
	case WM_INPUTLANGCHANGE :	
		{
			::CheckChineseInput( hWnd, lParam );
		}break;
	case WM_KEYDOWN:
		{
			const int	nVirtKey = ( int )wParam;	// virtual-key code 
			LPARAM	lKeyData = lParam;			// key data
			switch ( nVirtKey )
			{
			case	VK_UP:
			case	VK_DOWN:
			case	VK_LEFT:
			case	VK_RIGHT:
			case	VK_HOME:
			case	VK_END:
			case	VK_INSERT:
			case	VK_DELETE:
				{
					return	0;
				}break;
			case	VK_TAB:	
				{
					const int iTarget = GetChatTarget();
					switch(iTarget)
					{
						case CHAT_TARGET_WISPER1	:
						case CHAT_TARGET_WISPER2	:
						case CHAT_TARGET_WISPER3	:
						case CHAT_TARGET_WISPER4	:
						case CHAT_TARGET_WISPER5	:
							{
								char temp[MAX_CHAT_STRING_]={""};
								EWndMgr.ClearTxt(HWND_CHAT_INPUT);
								SetChatTarget(iTarget+1);
							}break;
						case CHAT_TARGET_GUILD:
							{
								char temp[MAX_CHAT_STRING_]={""};
								EWndMgr.ClearTxt(HWND_CHAT_INPUT);
								SetChatTarget(SELECT_WISPER_MODE);
							}break;
						case CHAT_TARGET_NORMAL:
							{
								char temp[MAX_CHAT_STRING_]={""};
								EWndMgr.ClearTxt(HWND_CHAT_INPUT);
								SetChatTarget(CHAT_TARGET_GUILD);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩视频在线一区二区| 国产拍欧美日韩视频二区| 国产精品夫妻自拍| 成人丝袜高跟foot| 久久久久久久综合| 国产精品影视在线观看| 日韩免费电影一区| 亚洲精品va在线观看| 波多野结衣精品在线| 欧美日韩视频第一区| 午夜电影一区二区| 麻豆久久久久久久| 欧美午夜精品久久久久久超碰| 国产视频亚洲色图| 国产盗摄女厕一区二区三区| 久久精品免费在线观看| 成人亚洲精品久久久久软件| 国产精品久久久久桃色tv| 91丨porny丨国产入口| 亚洲男人天堂一区| 欧美精品v国产精品v日韩精品 | 久久av中文字幕片| 精品国产乱码久久久久久夜甘婷婷| 激情综合五月天| 国产精品国产三级国产有无不卡| 男女视频一区二区| 精品女同一区二区| 国产成人免费视| 亚洲女同一区二区| 制服丝袜日韩国产| 日本不卡一二三区黄网| 久久精品视频一区| 色综合色狠狠天天综合色| 亚洲三级在线看| 欧美色电影在线| 国产一区二区三区香蕉| 国产精品女同一区二区三区| 99热这里都是精品| 日韩电影免费一区| 国产精品另类一区| 欧美亚洲综合一区| 日韩1区2区3区| 国产精品久久久久久久久晋中 | 欧美日韩国产成人在线91| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲综合在线电影| 欧美色电影在线| 麻豆一区二区三区| 亚洲女子a中天字幕| 欧美无砖专区一中文字| 天天综合天天综合色| 欧美sm极限捆绑bd| 九九热在线视频观看这里只有精品| 欧美日韩国产高清一区| 成人av先锋影音| 日本不卡视频在线| 亚洲综合清纯丝袜自拍| 欧美va亚洲va香蕉在线| caoporn国产精品| 自拍偷拍亚洲综合| 精品国产亚洲在线| 欧美日韩精品电影| 97精品久久久午夜一区二区三区| 免费在线观看不卡| 亚洲一区二三区| 精品国产一区二区国模嫣然| 欧美日韩久久一区二区| 国产精品一级片在线观看| 亚洲电影激情视频网站| 国产精品精品国产色婷婷| 欧美日韩一区成人| 色综合夜色一区| 亚洲国产视频直播| 国产精品区一区二区三| 精品国产a毛片| 欧美理论片在线| 国产成人在线免费观看| 麻豆精品一区二区av白丝在线| 中文在线一区二区| 久久免费偷拍视频| 精品久久久久久久久久久久久久久| 在线播放欧美女士性生活| 色综合激情五月| 97se狠狠狠综合亚洲狠狠| 亚洲免费观看视频| 中文字幕亚洲电影| 国产不卡视频一区| 亚洲欧美日韩中文字幕一区二区三区| 欧美v日韩v国产v| 欧美zozozo| 欧美成人一区二区三区在线观看 | 国产清纯在线一区二区www| 91精品国产福利| 欧美日韩一级大片网址| 欧美三级在线播放| 7777精品伊人久久久大香线蕉的| 欧美日韩极品在线观看一区| 一本色道久久综合狠狠躁的推荐| 国产成人午夜电影网| 国产精品夜夜爽| 懂色av中文一区二区三区| 国产成人综合在线观看| 国产高清久久久久| 成人永久aaa| 91网站在线播放| 在线观看www91| 国产不卡高清在线观看视频| 亚洲欧洲www| 国产精品国产三级国产| 夜夜夜精品看看| 日韩精品亚洲一区二区三区免费| 青青青爽久久午夜综合久久午夜| 美女视频第一区二区三区免费观看网站| 亚洲视频在线一区| 亚洲高清不卡在线观看| 亚洲综合精品久久| 亚洲欧美另类久久久精品2019| 亚洲精品视频一区| 亚洲大片在线观看| 精品午夜一区二区三区在线观看| 国产精品影视网| 色婷婷狠狠综合| 日韩午夜av一区| 2023国产一二三区日本精品2022| 欧美日韩不卡视频| 精品视频一区 二区 三区| 欧美绝品在线观看成人午夜影视| 在线亚洲一区观看| 欧美色成人综合| 精品国产91乱码一区二区三区 | 久久99在线观看| av在线免费不卡| 欧美日韩激情一区二区三区| 久久先锋影音av鲁色资源网| 亚洲激情在线播放| 国产一区二区三区综合| 成人午夜短视频| 欧美日韩一本到| 中文无字幕一区二区三区| 亚洲一区精品在线| 久久国产精品72免费观看| 91网站视频在线观看| 精品久久国产老人久久综合| 中文字幕在线观看一区| 亚洲人快播电影网| 麻豆精品在线视频| 北条麻妃国产九九精品视频| 欧美一区二区三区免费| 亚洲欧美综合色| 国产精一区二区三区| 欧美三级蜜桃2在线观看| 亚洲精品久久久蜜桃| 激情文学综合插| 欧美亚洲动漫制服丝袜| 中文文精品字幕一区二区| 欧美aaa在线| 欧美视频一区二| 国产精品网站一区| 国产一区999| 日韩午夜在线播放| 亚洲成va人在线观看| 99久久精品国产网站| 久久久久久99精品| 麻豆中文一区二区| 日本韩国欧美三级| 久久久久久久久蜜桃| 久久狠狠亚洲综合| 欧美一级片在线观看| 亚洲欧洲精品成人久久奇米网| 男人的j进女人的j一区| gogo大胆日本视频一区| 精品国产91乱码一区二区三区| 天天综合网 天天综合色| 国产九色精品成人porny | 国产高清精品久久久久| 欧美不卡一区二区三区四区| 亚洲一区二区不卡免费| 成人做爰69片免费看网站| 久久一区二区三区国产精品| 亚洲综合成人在线| 欧美午夜不卡在线观看免费| 一区二区三区在线观看网站| 色婷婷av一区二区三区软件 | 亚洲成a人片综合在线| 在线观看国产日韩| 亚洲一区二区三区中文字幕 | 亚洲一二三专区| 在线视频欧美精品| 亚洲综合小说图片| 欧美在线一二三| 亚洲v中文字幕| aaa亚洲精品| 亚洲国产电影在线观看| 成人黄色在线视频| 欧美激情一区二区三区四区| 国精产品一区一区三区mba视频| 欧美精品v日韩精品v韩国精品v| 亚洲天堂精品视频| 色综合视频在线观看| 亚洲一区二区三区国产|