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

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

?? editwndmgr.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// 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++)//牢鄲膠客 老摹竅綽 擴(kuò)檔快甫 罐綽促
	{
		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;//霸烙擴(kuò)檔快 殿廢
	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 )//浚磐唱 徘 摹擱 穢穢 家府唱綽芭 規(guī)瘤
			{
				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);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图丝袜美腿| 欧美日韩二区三区| 视频在线观看91| 国产三级欧美三级日产三级99| 日本高清成人免费播放| 国产一区二区三区国产| 丝袜亚洲另类欧美综合| 亚洲免费大片在线观看| 久久久久99精品一区| 日韩一区二区三区电影| 色噜噜偷拍精品综合在线| 国产激情视频一区二区三区欧美 | 亚洲精品日韩一| 久久久青草青青国产亚洲免观| 欧美浪妇xxxx高跟鞋交| 色综合欧美在线视频区| 成人午夜免费视频| 久久精品国产99| 欧美a级理论片| 亚洲va在线va天堂| 亚洲蜜臀av乱码久久精品| 久久久久久夜精品精品免费| 欧美一区午夜视频在线观看| 欧美日韩亚洲综合一区| 色一情一伦一子一伦一区| 成人污污视频在线观看| 国产成人免费在线观看| 国产一区二区不卡| 精品一区二区精品| 蜜桃视频在线一区| 免费成人在线视频观看| 日韩高清一区在线| 日本大胆欧美人术艺术动态| 亚洲bt欧美bt精品| 午夜精品久久久久久久久| 香蕉影视欧美成人| 五月天激情综合网| 日韩精品欧美精品| 蜜臀国产一区二区三区在线播放| 污片在线观看一区二区| 性感美女久久精品| 青青草97国产精品免费观看无弹窗版 | 欧美日韩一卡二卡| 欧美日韩不卡在线| 欧美一区二区三区思思人| 91精品婷婷国产综合久久性色| 在线不卡免费av| 88在线观看91蜜桃国自产| 日韩亚洲国产中文字幕欧美| 欧美大片日本大片免费观看| 欧美本精品男人aⅴ天堂| 久久久蜜桃精品| 国产精品传媒在线| 一二三四社区欧美黄| 亚洲成av人片在www色猫咪| 首页综合国产亚洲丝袜| 久久精品国产精品亚洲精品| 国内成人精品2018免费看| 国产suv精品一区二区6| av电影一区二区| 欧美日韩在线观看一区二区| 欧美一三区三区四区免费在线看| 久久婷婷久久一区二区三区| 欧美国产精品久久| 伊人色综合久久天天人手人婷| 亚洲福利视频三区| 国内外成人在线| 波多野结衣亚洲| 欧美日韩国产大片| 久久亚洲综合av| 亚洲免费三区一区二区| 亚洲午夜免费电影| 狠狠色丁香婷婷综合| 成人a级免费电影| 欧美日韩亚洲另类| 久久婷婷国产综合国色天香 | 中文字幕欧美激情一区| 一区二区三区在线影院| 激情文学综合网| 91日韩精品一区| 日韩一级片在线观看| 国产精品久久久久9999吃药| 五月激情综合网| 成人午夜视频免费看| 欧美人体做爰大胆视频| 国产日韩av一区| 亚洲成a人v欧美综合天堂| 国产99一区视频免费| 欧美年轻男男videosbes| 久久亚洲免费视频| 亚洲一区二区高清| 成人高清视频免费观看| 欧美一区二区三区四区五区| 亚洲精选免费视频| 国产黄色91视频| 欧美视频三区在线播放| 国产人成亚洲第一网站在线播放| 亚洲va欧美va天堂v国产综合| 成人午夜私人影院| 久久色视频免费观看| 丝袜美腿亚洲一区二区图片| 99久久精品免费看国产| 久久久久久综合| 免费观看30秒视频久久| 在线免费不卡电影| 国产精品私房写真福利视频| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩一区二区三区免费看| 成人欧美一区二区三区小说 | 欧美一区二区三区的| 亚洲色图.com| 成人永久免费视频| 精品播放一区二区| 日韩经典一区二区| 欧美三区免费完整视频在线观看| 国产精品女人毛片| 国产精品66部| 久久午夜羞羞影院免费观看| 蜜桃一区二区三区在线| 正在播放一区二区| 无码av免费一区二区三区试看 | 欧美v亚洲v综合ⅴ国产v| 五月婷婷色综合| 欧美视频在线观看一区| 一个色在线综合| 欧美三级中文字幕在线观看| 一区二区三区视频在线看| 91免费视频观看| 亚洲欧美视频在线观看视频| 99国产欧美久久久精品| 中文字幕中文字幕一区| av成人免费在线观看| 亚洲人精品一区| 91福利在线观看| 亚洲国产精品一区二区www| 在线观看一区不卡| 亚洲综合激情另类小说区| 欧美在线视频你懂得| 亚洲一本大道在线| 欧美老肥妇做.爰bbww视频| 日韩高清不卡在线| 日韩视频在线一区二区| 久热成人在线视频| 久久综合色之久久综合| 国产大陆精品国产| 国产精品美女久久久久av爽李琼| jlzzjlzz亚洲日本少妇| 一区二区三区毛片| 欧美日韩国产欧美日美国产精品| 婷婷国产在线综合| 精品国产一区二区三区久久久蜜月 | 丝袜美腿高跟呻吟高潮一区| 日韩视频免费观看高清完整版在线观看 | 亚洲精品久久7777| 欧美在线色视频| 男男成人高潮片免费网站| 日韩精品在线一区| 国产精品99久久久久久似苏梦涵 | 亚洲午夜av在线| 欧美一区二区在线免费播放| 九九国产精品视频| 中文文精品字幕一区二区| 色婷婷综合久久久| 日本欧美在线看| 国产女主播在线一区二区| 色吊一区二区三区| 久久精品国产999大香线蕉| 国产精品网友自拍| 欧美区在线观看| 国产盗摄视频一区二区三区| 一级日本不卡的影视| 2欧美一区二区三区在线观看视频| 国产jizzjizz一区二区| 亚洲综合视频在线| 欧美mv和日韩mv的网站| 91香蕉视频污| 另类的小说在线视频另类成人小视频在线| 久久久久久久久久久久久夜| 91国产精品成人| 国产精品一卡二卡| 亚洲国产精品一区二区www在线| 久久亚洲精品小早川怜子| 欧美午夜不卡在线观看免费| 国产尤物一区二区| 亚洲国产另类av| 日本一二三不卡| 欧美一级在线观看| 97久久超碰国产精品| 精品一区二区在线观看| 亚洲综合区在线| 国产精品色哟哟网站| 日韩免费电影网站| 91国产福利在线| 不卡电影一区二区三区| 久久er精品视频| 亚洲一区二区成人在线观看| 欧美国产欧美综合| 日韩免费高清电影| 欧美精品久久久久久久多人混战 | 麻豆91小视频|