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

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

?? emwin.c

?? 本代碼包為該GUI LIB在PC上的測試移植. PIC_Graphics 為PIC GUI的源代碼目錄 Demo 為PIC GUI 測試代碼目錄 其他的代碼和目錄均是uCGUI
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
				}while(0);
			}
			else{
			}
			LCDSIM_CheckMouseState();
			//if(ghThread == 0) PostQuitMessage(0);
			break;
		/* 2005-6-8 23:32:58
			#define WM_MOUSEFIRST   0x0200
			#define WM_MOUSEMOVE    0x0200
			#define WM_LBUTTONDOWN  0x0201
			#define WM_LBUTTONUP    0x0202
			cmp     eax, 1FFh		//此處處理所有三種MOUSE消息, 在反編譯中容易看漏的, 如下所示...
			jbe     loc_55D4		//小于等于0x1ff跳往DefWindowProc處理...
			cmp     eax, 202h		//msg小于0x202則轉(zhuǎn)往處理MOUSE消息...
			jbe     short loc_557E	*/
		case WM_MOUSEMOVE:
		case WM_LBUTTONDOWN:
		case WM_LBUTTONUP:
			xPos = LOWORD(lParam);
			yPos = HIWORD(lParam);
			//此處判斷MOUSE坐標(biāo)時(shí),一定注意所取的MOUSE坐標(biāo)范圍要翻倍...
			SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
			if(xPos >= 0 &&  yPos >=0 && xPos <= LCD_GetDevCap(LCD_DEVCAP_XSIZE)*LCD_GetXMag() && yPos <= LCD_GetDevCap(LCD_DEVCAP_YSIZE)*LCD_GetYMag()){
				LCDSIM_SetMouseState(xPos, yPos, wParam);
			}else{
				LCDSIM_SetMouseState(-1, -1, 0);
			}
			break;
		case WM_PAINT:
			hdc = BeginPaint(hWnd, &ps);
			if(ps.fErase != 0){
				rt.left = 0;
				rt.top = 0;
				rt.right = 0xfff;
				rt.bottom = 0xfff;
				FillRect(hdc, &rt, GetStockObject(BLACK_BRUSH));
			}
			//InvalidateRect(hWnd,NULL, 0); //此句不可丟,否則無法顯示出要畫的位圖, 改在定時(shí)器中刷新窗口....
		//	LCDSIM_CheckInit(hWnd);
			LCDSIM_Paint(hdc);
			EndPaint(hWnd, &ps);
			break;
		case WM_RBUTTONDOWN:;
			TrackMenuPoint.x = LOWORD(lParam);
			TrackMenuPoint.y = HIWORD(lParam);
			ClientToScreen(hWnd, &TrackMenuPoint);
			TrackPopupMenu(hMenuPopup, TPM_RIGHTBUTTON, TrackMenuPoint.x, TrackMenuPoint.y, 0, hWndMain, 0);
			break;
		case WM_DESTROY:
			for(i = 0; i < MAXLCDNUM; i++){
				if(hWnd == LCD_aWinData[i].lcd_hwnd){
					LCD_aWinData[i].lcd_hwnd = 0;
					LCD_aWinData[i].TimerID = 0;
					break;
				}
			}
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}

LRESULT CALLBACK LogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
//	char buf[500];
//	HWND log_edit = NULL;
	RECT rt;

	switch (message)
	{
		case WM_INITDIALOG:
			{
			//	SetWindowPos(hDlg, 0, 0, LOG_y0, 50, wndWidth, 0);
				GetWindowRect(hWndMain, &rt);
				//MoveWindow(hDlg, rt.left, rt.top+LOG_y0, wndWidth, 150, 1);
                MoveWindow(hDlg, rt.left, rt.bottom-10, wndWidth, 150, 1);
				LOG_hWnd = GetDlgItem(hDlg, IDC_EDITLOG);
				GetWindowRect(hDlg, &rt);
				MoveWindow(LOG_hWnd, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
				if(LOG_hWnd)	SetWindowText(LOG_hWnd, (LPCTSTR)LOG_acBuffer);
				return TRUE;
			}

		case WM_COMMAND:
			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			break;
		case WM_SIZE:
			GetWindowRect(hDlg, &rt);
			MoveWindow(LOG_hWnd, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
			break;
		case WM_DESTROY:
			LOG_hWnd  = 0;
	}
    return FALSE;
}
#define MotionLogWin_YSIZE 150
//顯示Motion 的Debug 內(nèi)容
LRESULT CALLBACK MotionLogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

    RECT rt;

    switch (message)
    {
    case WM_INITDIALOG:
        {
            //ShowWindow(hDlg,SW_SHOW);
            //	SetWindowPos(hDlg, 0, 0, LOG_y0, 50, wndWidth, 0);
            GetWindowRect(hWndMain, &rt);
            //MoveWindow(hDlg, rt.left, rt.top+LOG_y0, wndWidth, 150, 1);
            MoveWindow(hDlg, rt.left, rt.bottom, wndWidth, MotionLogWin_YSIZE, 1);//窗口位置
            hWnd_MotionLog = GetDlgItem(hDlg, IDC_MotionLog);
            GetWindowRect(hDlg, &rt);
            MoveWindow(hWnd_MotionLog, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1); //內(nèi)部打印窗口位置
            if(hWnd_MotionLog)	SetWindowText(hWnd_MotionLog, (LPCTSTR)"Motion Debug Log");
            return TRUE;
        }

    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return TRUE;
        }
        break;
    case WM_SIZE:
        GetWindowRect(hDlg, &rt);
        MoveWindow(hWnd_MotionLog, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
        break;
    case WM_DESTROY:
        hWnd_MotionLog  = 0;
    }
    return FALSE;
}
//顯示MainTask 的Debug 內(nèi)容
LRESULT CALLBACK MainTaskLogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

    RECT rt;

    switch (message)
    {
    case WM_INITDIALOG:
        {
            //ShowWindow(hDlg,SW_SHOW);
            //	SetWindowPos(hDlg, 0, 0, LOG_y0, 50, wndWidth, 0);
            GetWindowRect(hWnd_MotionLog, &rt);
            //MoveWindow(hDlg, rt.left, rt.top+LOG_y0, wndWidth, 150, 1);
            MoveWindow(hDlg, rt.left, rt.bottom, wndWidth, MotionLogWin_YSIZE, 1);//窗口位置偏置于MotionLogProc
            hWnd_MainTaskLog = GetDlgItem(hDlg, IDC_MainTaskLog);
            GetWindowRect(hDlg, &rt);
            MoveWindow(hWnd_MainTaskLog, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1); //內(nèi)部打印窗口位置
            if(hWnd_MainTaskLog)
            {
                //SendMessage(hWnd_MainTaskLog,LB_ADDSTRING,0,(LONG)"MainTask  Debug Log");//SetWindowText(DispHWin, (LPCTSTR)LogBuffer);
                SetWindowText(hWnd_MainTaskLog, (LPCTSTR)"MainTask  Debug Log");
            }
            return TRUE;
        }

    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return TRUE;
        }
        break;
    case WM_SIZE:
        GetWindowRect(hDlg, &rt);
        MoveWindow(hWnd_MainTaskLog, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
        break;
    case WM_DESTROY:
        hWnd_MainTaskLog  = 0;
    }
    return FALSE;
}
#define HALSHMDispWin_XSize  200

#define HALSHMDispWin_YSize  300

LRESULT CALLBACK HALSHMDispProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

    RECT rt;

    switch (message)
    {
    case WM_INITDIALOG:
        {
            //ShowWindow(hDlg,SW_SHOW);
            //	SetWindowPos(hDlg, 0, 0, LOG_y0, 50, wndWidth, 0);
            GetWindowRect(hWndMain, &rt);
            //MoveWindow(hDlg, rt.left, rt.top+LOG_y0, wndWidth, 150, 1);
            MoveWindow(hDlg, rt.right, rt.top, HALSHMDispWin_XSize, rt.bottom-rt.top, 1);
            HWnd_MotionDisp = GetDlgItem(hDlg, IDC_MotionDisp);
            GetWindowRect(hDlg, &rt);
            MoveWindow(HWnd_MotionDisp, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
            if(HWnd_MotionDisp)
            {
                //SendMessage(hWnd_MainTaskLog,LB_ADDSTRING,0,(LONG)"MainTask  Debug Log");
                SetWindowText(HWnd_MotionDisp, (LPCTSTR)"Moton HAL Data Disp");
            }
            //SetTimer(hDlg, 1, 2000, NULL);
            return TRUE;
        }
//    case WM_TIMER:
        //        UpDataHALDisp();
        //        break;

    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return TRUE;
        }
        break;
    case WM_SIZE:
        GetWindowRect(hDlg, &rt);
        //MoveWindow(hWnd_MainTaskLog, 0, 0, rt.right - rt.left-5, rt.bottom - rt.top-30, 1);
        break;
    case WM_DESTROY:
        HWnd_MotionDisp  = 0;
        break;
    }
    return FALSE;
}

// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	char buf[500];
	switch (message)
	{
		case WM_INITDIALOG:
			{
				sprintf(buf, "About %s", BRANDING_GetAppNameLong());
				SetWindowText(hDlg, buf);
				SetDlgItemText(hDlg, ID_ABOUT_APPC, BRANDING_GetAppNameShort());
				//SetDlgItemText(hDlg, ID_ABOUT_VERSION, GUI_GetVersionString());
				SetDlgItemText(hDlg, ID_ABOUT_COPYRIGHT, BRANDING_GetCopyright());
				return TRUE;
			}

		case WM_COMMAND:
			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			break;
	}
    return FALSE;
}


int VirtKey2Key(int nVirtKey)
{
	int key = 0, i  = 0;
	for(i  = 0; i < VKEYNUM; i++)
	{
		if(aVKey2Key[i].VirCode == nVirtKey){
			return aVKey2Key[i].key;
		}
	}
	return key;
}

int Keydown2ASCII(int nVirtKey)
{
	int key = 0, ret = -1;
	char allKeyState[258];
	GetKeyboardState(allKeyState);
	ret = ToAscii(nVirtKey, MapVirtualKey(nVirtKey, 0), allKeyState, (LPWORD)&key, 0);
	if(ret == 1) return key;
	return key | nVirtKey;
}
int _KEY_;
int _keyCount_ = 0;
//VK_LEFT VK_SHIFT
void HandleKeyEvents(UINT message, WPARAM wParam)
{
	int key = 0, keyCount = 0;
	switch(message){
	case WM_KEYDOWN:
		key = VirtKey2Key(wParam);
		if(key == 0) key = Keydown2ASCII(wParam);
		keyCount = 1;
		break;
	case WM_KEYUP:
		key = VirtKey2Key(wParam);
		keyCount = 0;
		break;
	}
	if(key != 0){
        //GUI_StoreKeyMsg(key, keyCount);
        _KEY_ = key;
        _keyCount_ = keyCount;
    }

}
int GUI_GetKey(void)
{
    if(0 != _keyCount_){
        _keyCount_ = 0;
        return _KEY_;        
    }else{
        return 0;
    }
}

void MainWnd_OnTimer(HWND hWnd)
{
	char MainWndTitle[200] = "(Executing)";
	static char newMainWndTitle[200];
	static int hasgetCaption = 0;
	if(hasgetCaption++ == 0){
		GetWindowText(hWnd, newMainWndTitle, 100);
	}
	sprintf(MainWndTitle, "%s %s", newMainWndTitle, "(Executing)");
	SetWindowText(hWnd, MainWndTitle);
}

//WM_PAINT wParam在菜單消息當(dāng)中即為菜單標(biāo)志ID..
void MainWnd_Command(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId = 0, wmEvent = 0;
    HWND hdlg;
    long erro=0;
	switch(message)
	{
	case WM_COMMAND:
		wmId    = LOWORD(wParam);
		wmEvent = HIWORD(wParam);
		// Parse the menu selections:
		switch (wmId)
		{
		case IDM_ABOUT:
			DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
			break;
		case IDM_EXIT:
			DestroyWindow(hWnd);
			break;
		case IDM_NEWLCD:
			CreateWndLCD();
			break;
		case IDM_LOG:
			CreateDialogParam(hInst, (LPCTSTR)IDD_LOG, hWnd, (DLGPROC)LogProc, 0);
			break;
        case IDM_MotionLog:
            hdlg = CreateDialog(hInst, (LPCTSTR)IDD_MotionLog, hWnd, (DLGPROC)MotionLogProc);
            erro = GetLastError();
            break;
        case IDM_MainTaskLog:
            hdlg = CreateDialog(hInst, (LPCTSTR)IDD_MainTaskLog, hWnd, (DLGPROC)MainTaskLogProc);
            erro = GetLastError();
            break;
		case IDM_PAUSEAPP:
			THREAD_StopApplication();
			InitMenu(hMenuPopup);
			break;
		case IDM_RESUMEAPP:
			THREAD_ContinueApplication();
			InitMenu(hMenuPopup);
			break;
		case IDM_COPYCLIP:
			break;
		case 32774:
			THREAD_StartApplication();
			break;
		default:
			break;
		}
	}
}


///////////////////////////////////////////////////////////////////////
//
// 函數(shù)名       : MainWnd_Paint
// 功能描述     : 在模擬器主窗口當(dāng)中畫MICRIUM的標(biāo)志[畫于窗口中心處]...
// 參數(shù)         : HWND hwnd
// 返回值       : void
//
///////////////////////////////////////////////////////////////////////
void MainWnd_Paint(HWND hwnd, HDC hdc)
{
/* 2005-6-7 1:45:24
	HDC			hdc, hMemdc;
	PAINTSTRUCT	ps;*/
	HDC			hMemdc;
	RECT		rt;

	int			logo_x = 0, logo_y = 0;
	BITMAP		logobmpinfo;
	int			blt = 0;
	HBITMAP		logoBmp = 0;

/* 2005-6-7 1:45:29
	InvalidateRect(hwnd,NULL,FALSE);		//此句不可丟,否則無法顯示出要畫的位圖...
	hdc = BeginPaint(hwnd, &ps);*/
	hMemdc = CreateCompatibleDC(hdc);
	GetClientRect(hwnd, &rt);
	logoBmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_LOGO));
	GetObject(logoBmp, 0x18, &logobmpinfo);
	logo_x = (rt.right - logobmpinfo.bmWidth - rt.left)/2;
	logo_y = (rt.bottom - logobmpinfo.bmHeight - rt.top)/2;
	SelectObject(hMemdc, hLogo);
	blt = BitBlt(hdc, logo_x, logo_y, logobmpinfo.bmWidth, logobmpinfo.bmHeight, hMemdc, 0, 0, SRCCOPY);
	DeleteObject(logoBmp);
	DeleteDC(hMemdc);
//	EndPaint(hwnd, &ps);
}

#include "mmsystem.h"
void main(void);

int APIENTRY	WinMain_NoClean(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
	int ret = 0;
	HWND hWnd;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线小视频| 国产精品久久久久影院色老大| 亚洲乱码国产乱码精品精98午夜| 国产在线观看免费一区| 日韩视频一区在线观看| 日本视频中文字幕一区二区三区| 制服.丝袜.亚洲.中文.综合| 美女精品一区二区| 久久久777精品电影网影网 | 日本一区二区三区高清不卡| 日韩午夜三级在线| 国产一区二区中文字幕| 中文字幕免费一区| 在线观看国产91| 日本色综合中文字幕| 亚洲精品在线网站| 91影视在线播放| 亚洲成a人v欧美综合天堂下载| 亚洲男同性恋视频| 欧美日韩国产综合视频在线观看| 老鸭窝一区二区久久精品| 国产女同性恋一区二区| 色综合天天综合色综合av | 亚洲视频精选在线| 欧美日韩成人一区二区| 精品系列免费在线观看| 国产精品久久久久久亚洲伦| 欧美午夜精品电影| 国产一区二区精品久久| 亚洲精品免费一二三区| 精品美女一区二区| 日本道精品一区二区三区| 久久国产成人午夜av影院| 国产精品视频你懂的| 欧美剧在线免费观看网站| 国产剧情一区二区| 偷拍一区二区三区四区| 亚洲国产电影在线观看| 欧美久久久久免费| 91色.com| 国产福利视频一区二区三区| 亚洲电影视频在线| 国产精品久久看| 精品乱人伦一区二区三区| 色婷婷国产精品| 国产成人av资源| 卡一卡二国产精品| 亚洲午夜久久久久中文字幕久| 久久在线免费观看| 欧美蜜桃一区二区三区| 91免费在线视频观看| 国产中文字幕一区| 视频一区在线视频| 亚洲激情在线播放| 国产精品久久久久影视| 久久久午夜电影| 日韩亚洲国产中文字幕欧美| 欧美午夜在线一二页| 97久久精品人人做人人爽| 国产在线视频不卡二| 免费高清在线一区| 亚洲超碰97人人做人人爱| 亚洲人一二三区| 国产精品天干天干在观线 | 国产目拍亚洲精品99久久精品| 欧美一区二区私人影院日本| 欧美色老头old∨ideo| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品一区二区男女羞羞无遮挡 | 国产成人在线色| 精品一区二区在线看| 青青草伊人久久| 男人的天堂久久精品| 日韩av一区二区三区| 日韩精品一二三| 日韩中文字幕不卡| 热久久一区二区| 美脚の诱脚舐め脚责91| 蜜桃传媒麻豆第一区在线观看| 五月激情综合色| 日本亚洲欧美天堂免费| 久久99精品国产91久久来源| 日韩不卡一二三区| 久久精工是国产品牌吗| 久久激五月天综合精品| 国产尤物一区二区在线| 国内精品伊人久久久久av影院| 精品亚洲成av人在线观看| 国产精品一区一区| 9人人澡人人爽人人精品| 97se狠狠狠综合亚洲狠狠| 色天天综合久久久久综合片| 在线观看日韩电影| 欧美猛男gaygay网站| 91精品国产综合久久精品麻豆| 日韩欧美一级二级| 久久麻豆一区二区| 中文字幕欧美激情| 亚洲成人免费在线| 久久精品二区亚洲w码| 国内精品伊人久久久久av一坑| 成人午夜电影网站| 欧美主播一区二区三区| 欧美成人a∨高清免费观看| 国产日产精品1区| 一区二区三区在线观看网站| 首页国产欧美久久| 国产精品一二三四| 欧美在线综合视频| 日韩美女视频一区二区在线观看| 国产欧美日韩在线| 亚洲一区中文日韩| 韩国v欧美v亚洲v日本v| 91视频www| 日韩午夜在线播放| 亚洲乱码日产精品bd| 麻豆精品在线播放| 国产成人精品免费看| 99久久99久久精品免费观看| 欧美蜜桃一区二区三区| 中文字幕欧美激情| 视频一区欧美精品| 91免费看片在线观看| 91麻豆国产香蕉久久精品| 色综合色狠狠综合色| 555www色欧美视频| 日韩伦理电影网| 国内精品国产成人国产三级粉色| 91论坛在线播放| 成人h动漫精品| 日韩欧美一区中文| 一区二区三区成人| 国产91在线|亚洲| 日韩欧美中文字幕一区| 亚洲男人的天堂网| 国产91高潮流白浆在线麻豆| 欧美日韩免费一区二区三区视频| 日本一区二区三区在线不卡| 亚洲精品美腿丝袜| 成人精品一区二区三区四区| 日韩一二三区不卡| 亚洲国产精品精华液网站| 成人综合婷婷国产精品久久免费| 欧美一级在线免费| 亚洲国产视频网站| 91蜜桃婷婷狠狠久久综合9色| 久久久蜜桃精品| 麻豆成人免费电影| 制服丝袜激情欧洲亚洲| 亚洲一级不卡视频| 色偷偷成人一区二区三区91| 欧美激情综合网| 精品一区二区久久久| 日韩一区二区三区视频在线观看| 一级日本不卡的影视| 成人sese在线| 国产精品久久久久久久蜜臀| 国产一区美女在线| 久久亚区不卡日本| 国产美女视频91| 久久在线免费观看| 国产精品资源在线观看| 久久久久久久久久久久久夜| 久久精品72免费观看| 欧美r级在线观看| 男人的天堂亚洲一区| 欧美一区二区三区爱爱| 丝袜诱惑亚洲看片| 欧美一级国产精品| 男人的天堂亚洲一区| 精品久久国产字幕高潮| 国模无码大尺度一区二区三区| 日韩精品一区二区三区老鸭窝 | 美女久久久精品| 久久综合狠狠综合久久综合88| 国产一区欧美二区| 中文字幕不卡在线| 91视频在线观看| 偷窥国产亚洲免费视频 | 精品国精品国产尤物美女| 国产在线精品免费| 国产午夜精品久久久久久免费视| 国产精品亚洲综合一区在线观看| 国产午夜精品福利| 日本高清免费不卡视频| 视频在线在亚洲| 久久日一线二线三线suv| 丁香天五香天堂综合| 亚洲精品成人精品456| 欧美日韩成人综合在线一区二区| 美日韩一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲成av人片一区二区| 欧美一区二区福利在线| 国产一区二区福利| 亚洲欧美日本在线| 91精品国产乱码久久蜜臀| 国产乱子轮精品视频| 自拍偷拍亚洲综合| 在线不卡中文字幕播放|