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

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

?? drawingtext.cpp

?? smartphone2003上用evc編譯的畫圖和文字的基本函數(shù)應(yīng)用程序, 純api
?? CPP
字號(hào):
///////////////////////////////////////////////////////////////////////////////
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//  PARTICULAR PURPOSE.
//
//  This is "Sample Code" and is distributable subject to the terms of the end
//  user license agreement.
//
//
///////////////////////////////////////////////////////////////////////////////
//
// DRAWINGTEXT.CPP
//
// Draws sample text on the screen
//

#include <windows.h>
#include <aygshell.h>
#include "resource.h"

#define ARRAY_LENGTH(x) (sizeof(x)/sizeof((x)[0]))

// Global variables
HWND g_hWndMain;
HINSTANCE g_hInst;


LRESULT CALLBACK WndProc(
	HWND hWnd,
	UINT Msg,
	WPARAM wParam,
	LPARAM lParam 
	)
{

	switch (Msg) 
	{
	case WM_CREATE:
		// set up Soft Keys menu
		SHMENUBARINFO mbi;
		ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
		mbi.cbSize = sizeof(SHMENUBARINFO);
		mbi.hwndParent = hWnd;
		mbi.nToolBarId = IDR_DT_MENUBAR;
		mbi.hInstRes = g_hInst;

		if (FALSE == SHCreateMenuBar(&mbi)) {
		    // Couldn't create the menu bar.  Fail creation of the window.
			return -1;
		}

		break;

	case WM_COMMAND:
		switch (wParam) 
		{
			case IDM_DT_QUIT:
                DestroyWindow(hWnd);
				break;

			default:
				return DefWindowProc(hWnd, Msg, wParam, lParam);
		}

		break;

	case WM_PAINT:
		{
			HDC hdc;
			PAINTSTRUCT	ps;
			RECT rcString, rcClient;
			POINT ptTrig[4]; 
			INT i, cy;

			GetClientRect (hWnd, &rcClient);
			hdc = BeginPaint (hWnd, &ps);
			
			ptTrig[0].x = ptTrig[3].x = ptTrig[1].x = rcClient.left;
			ptTrig[0].y = ptTrig[3].y = rcClient.top;
			ptTrig[2].y = ptTrig[1].y = rcClient.bottom;
			ptTrig[2].x = rcClient.right;
			SelectObject(hdc, (HBRUSH)GetStockObject(GRAY_BRUSH));
			Polygon(hdc, ptTrig, 4);
			SelectObject(hdc, (HBRUSH)GetStockObject(BLACK_BRUSH));
			ptTrig[0].x = ptTrig[3].x = ptTrig[2].x /2; 
			ptTrig[0].y = ptTrig[3].y = ptTrig[2].y /3; 
			Polygon(hdc, ptTrig, 4);
			SelectObject(hdc, (HBRUSH)GetStockObject(WHITE_BRUSH));

			// DT_CALCRECT fills in &rcString with the height/width of string
			DrawText (hdc, TEXT ("Sample DrawText"), -1, &rcString, 
				DT_CALCRECT | DT_CENTER | DT_SINGLELINE);
			// Text rectangle size plus some padding
			cy = rcString.bottom - rcString.top + 5;

			rcClient.bottom = rcClient.top + cy;
			SetBkMode (hdc, TRANSPARENT);
			for (i = 0; i < 4; i++) 
			{
				SetTextColor (hdc, PALETTEINDEX2BPP(i));
				SetBkColor (hdc, PALETTEINDEX2BPP(3 -i));
				DrawText (hdc, TEXT ("Sample DrawText Here"), -1, &rcClient, DT_CENTER | DT_SINGLELINE);
				rcClient.top += cy;
				rcClient.bottom += cy;
			}

			SetBkMode (hdc, OPAQUE);
			for (i = 0; i < 4; i++) 
			{
				SetTextColor (hdc, PALETTEINDEX2BPP(i));
				SetBkColor (hdc, PALETTEINDEX2BPP(3 -i));
				DrawText (hdc, TEXT ("Sample DrawText Here"), -1, &rcClient, DT_CENTER | DT_SINGLELINE);
				rcClient.top += cy;
				rcClient.bottom += cy;
			}
			EndPaint(hWnd, &ps);
		}
		break;

    case WM_DESTROY:
        PostQuitMessage(0);
        break;

	default:
		return DefWindowProc(hWnd, Msg, wParam, lParam);
	}

	return 0;
}


/****************************************************************************

   ActivatePreviousInstance

  ****************************************************************************/
HRESULT ActivatePreviousInstance(
    const TCHAR* lptszClass,
    const TCHAR* lptszTitle,
    BOOL* pfActivated
    )
{
    HRESULT hr = S_OK;
    int cTries;
    HANDLE hMutex = NULL;

    *pfActivated = FALSE;
    cTries = 5;
    while(cTries > 0)
    {
        hMutex = CreateMutex(NULL, FALSE, lptszClass); // NOTE: We don't want to own the object.
        if(NULL == hMutex)
        {
            // Something bad happened, fail.
            hr = E_FAIL;
            goto Exit;
        }

        if(ERROR_ALREADY_EXISTS == GetLastError())
        {
            HWND hwnd;

            CloseHandle(hMutex);
            hMutex = NULL;

            // There is already an instance of this app
            // running.  Try to bring it to the foreground.

            hwnd = FindWindow(lptszClass, lptszTitle);
            if(NULL == hwnd)
            {
                // It's possible that the other window is in the process of being created...
                Sleep(500);
                hwnd = FindWindow(lptszClass, lptszTitle);
            }

            if(NULL != hwnd) 
            {
                // Set the previous instance as the foreground window

                // The "| 0x01" in the code below activates
                // the correct owned window of the
                // previous instance's main window.
                SetForegroundWindow((HWND) (((ULONG) hwnd) | 0x01));

                // We are done.
                *pfActivated = TRUE;
                break;
            }

            // It's possible that the instance we found isn't coming up,
            // but rather is going down.  Try again.
            cTries--;
        }
        else
        {
            // We were the first one to create the mutex
            // so that makes us the main instance.  'leak'
            // the mutex in this function so it gets cleaned
            // up by the OS when this instance exits.
            break;
        }
    }

    if(cTries <= 0)
    {
        // Someone else owns the mutex but we cannot find
        // their main window to activate.
        hr = E_FAIL;
        goto Exit;
    }

Exit:
    return(hr);
}


/*****************************************************************************

  WinMain

  ***************************************************************************/


int WINAPI WinMain( 
	HINSTANCE hInstance,
	HINSTANCE hPreviousInstance,
	LPWSTR pszCommandLine,
	int nCommandShow
	)
{
    WNDCLASS wc;
    MSG msg;
    TCHAR tszAppName[80];
	TCHAR tszTitle[80];
    BOOL fActivated;

    // Pass value to global g_hInst for use in WndProc
    g_hInst = hInstance;

    // Load strings
    LoadString(hInstance, IDS_DT_APPNAME, tszAppName, ARRAY_LENGTH(tszAppName));
    LoadString(hInstance, IDS_DT_TITLE, tszTitle, ARRAY_LENGTH(tszTitle));

    if (FAILED(ActivatePreviousInstance(tszAppName, tszTitle, &fActivated)) ||
            fActivated)
    {
		// Exit immediately if previous instance exists
        return 0;
    }

    // Register our main window's class.
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = (WNDPROC) WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = 0;
    wc.hCursor = 0;
    wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName = 0;
    wc.lpszClassName = tszAppName;

    if (FALSE == RegisterClass(&wc) )
    {
        OutputDebugString(TEXT("RegisterClass Failed\n"));
        return 0;
    }

	g_hWndMain = CreateWindow(tszAppName, tszTitle,
                              WS_CLIPCHILDREN, // Setting this to 0 gives a default style we don't want.  Use a benign style bit instead.
                              CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
                              NULL, NULL, hInstance, NULL );
    if (NULL == g_hWndMain)
    {
        OutputDebugString(TEXT("CreateWindow Failed\n"));
        return 0;
    }

	UpdateWindow(g_hWndMain);
    ShowWindow(g_hWndMain, nCommandShow);

    while (GetMessage(&msg, NULL, 0, 0) == TRUE)
    {
        DispatchMessage(&msg);
    }

    return msg.wParam;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡二卡三卡| 在线视频综合导航| 精品久久人人做人人爰| 麻豆专区一区二区三区四区五区| 欧美老年两性高潮| 天堂av在线一区| 精品久久人人做人人爰| 国产经典欧美精品| 中文字幕国产一区二区| 成年人网站91| 图片区日韩欧美亚洲| 日韩精品综合一本久道在线视频| 国产一区二区在线免费观看| 中文字幕巨乱亚洲| 日本精品视频一区二区三区| 日韩av午夜在线观看| 日韩女优av电影在线观看| 国产成人精品亚洲午夜麻豆| 亚洲视频免费在线观看| 欧美图片一区二区三区| 久久国产精品无码网站| 国产精品久久久久久久久图文区| 色8久久精品久久久久久蜜| 蜜臀久久99精品久久久久久9| 2021国产精品久久精品| 99久久伊人久久99| 日韩国产在线观看一区| 亚洲国产精品激情在线观看| 欧美日韩精品系列| 丁香啪啪综合成人亚洲小说| 亚洲动漫第一页| 久久久久久免费网| 欧美剧情片在线观看| 国产成人精品网址| 热久久久久久久| 中文字幕一区二区三区在线观看| 欧美一级精品大片| 不卡av免费在线观看| 美女网站色91| 一区二区激情视频| 国产欧美综合在线观看第十页| 欧美午夜精品久久久久久孕妇| 国产在线播放一区二区三区| 五月天久久比比资源色| 国产精品区一区二区三| 日韩欧美综合在线| 色综合久久中文综合久久牛| 国产一区二区三区观看| 偷拍日韩校园综合在线| 亚洲私人影院在线观看| 久久综合成人精品亚洲另类欧美 | 久久夜色精品一区| 91国产丝袜在线播放| 国产91精品精华液一区二区三区 | 成人三级在线视频| 奇米四色…亚洲| 亚洲电影欧美电影有声小说| 亚洲欧美一区二区三区极速播放 | 波多野结衣在线一区| 蜜臀精品久久久久久蜜臀 | 色综合色狠狠综合色| 国产精品资源网站| 看片网站欧美日韩| 天天av天天翘天天综合网 | 一区二区三区在线影院| 国产精品国产自产拍在线| 国产亚洲人成网站| 欧美成人一级视频| 日韩一区二区视频| 日韩欧美一区在线| 日韩一本二本av| 宅男在线国产精品| 正在播放亚洲一区| 欧美一区二区三区免费观看视频| 欧美日韩国产综合视频在线观看 | 一区二区三区在线高清| 亚洲天堂免费看| √…a在线天堂一区| 国产精品卡一卡二| 中文字幕制服丝袜一区二区三区 | 国产欧美日韩在线视频| 欧美精品一区二区高清在线观看| 日韩精品一区二区在线| 日韩欧美一二三| 久久久久久久综合狠狠综合| wwwwxxxxx欧美| 亚洲国产精品v| 亚洲三级在线播放| 亚洲一区二区三区中文字幕| 一个色在线综合| 五月天网站亚洲| 久久精品久久综合| 韩国三级电影一区二区| 国产成人av在线影院| 国产.欧美.日韩| 99久久精品免费| 欧美喷水一区二区| 欧美tickling挠脚心丨vk| 亚洲精品一区二区三区福利| 国产日韩欧美激情| 亚洲美女免费视频| 午夜伦理一区二区| 国产在线日韩欧美| 99久久99久久久精品齐齐| 欧美唯美清纯偷拍| 精品国产乱码久久久久久牛牛| 欧美国产激情二区三区| 一区二区三区四区国产精品| 日本一区中文字幕| 国产精品一区久久久久| 欧洲精品视频在线观看| 日韩亚洲欧美一区二区三区| 国产日韩三级在线| 亚洲丰满少妇videoshd| 国产精品一区2区| 在线观看国产91| 26uuu国产电影一区二区| 中文字幕中文字幕在线一区 | 日日噜噜夜夜狠狠视频欧美人| 久久www免费人成看片高清| www.日韩在线| 日韩一区二区三区电影| 亚洲精品中文在线影院| 极品瑜伽女神91| 色婷婷综合五月| 久久人人爽爽爽人久久久| 亚洲综合图片区| 成人性生交大片| 日韩午夜在线影院| 亚洲日本丝袜连裤袜办公室| 日本欧美韩国一区三区| 91在线免费看| 国产无一区二区| 日韩高清在线一区| 99r国产精品| www国产亚洲精品久久麻豆| 视频在线观看91| 日本道在线观看一区二区| 欧美韩国日本不卡| 日韩精品欧美精品| 色婷婷av一区二区三区之一色屋| 国产三级欧美三级日产三级99| 丝袜美腿亚洲一区二区图片| 93久久精品日日躁夜夜躁欧美| 久久亚洲免费视频| 三级不卡在线观看| 色菇凉天天综合网| 国产精品久久久久久久久果冻传媒| 开心九九激情九九欧美日韩精美视频电影| 欧美亚洲另类激情小说| 日韩毛片视频在线看| 粉嫩aⅴ一区二区三区四区五区| 日韩无一区二区| 亚洲第一在线综合网站| 在线视频国内自拍亚洲视频| **网站欧美大片在线观看| 国产高清亚洲一区| 久久综合av免费| 狠狠色丁香久久婷婷综合丁香| 欧美日韩黄视频| 天天爽夜夜爽夜夜爽精品视频| 91久久国产最好的精华液| 亚洲精品久久嫩草网站秘色| 972aa.com艺术欧美| 亚洲免费观看高清| 91视视频在线观看入口直接观看www| 国产精品私人影院| 成人午夜精品在线| 欧美国产精品一区二区| 成人av免费在线播放| 欧美国产精品v| 97精品久久久久中文字幕| 亚洲视频资源在线| 99热国产精品| 亚洲自拍偷拍av| 欧美一区2区视频在线观看| 日本美女一区二区| 精品sm在线观看| 国产suv精品一区二区三区| 欧美激情中文字幕一区二区| www.日韩大片| 亚洲成人激情社区| 欧美一区二区三区影视| 免费av成人在线| 久久精品人人做人人综合 | 色偷偷久久人人79超碰人人澡| 亚洲精品国产第一综合99久久| 欧洲人成人精品| 久久成人av少妇免费| 亚洲国产成人在线| 91日韩精品一区| 日韩中文字幕不卡| 精品处破学生在线二十三| 福利电影一区二区| 亚洲三级电影网站| 欧美一区永久视频免费观看| 国产尤物一区二区| 亚洲柠檬福利资源导航| 51久久夜色精品国产麻豆| 国产毛片精品国产一区二区三区|