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

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

?? colourpopup.cpp

?? 文字編輯器源碼 Text editor source code
?? CPP
字號:
/*
this file is part of notepad++
Copyright (C)2003 Don HO < donho@altern.org >

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#include "ColourPopup.h"
#include "Common.h"

DWORD colourItems[] = {
	RGB(  0,   0,   0),	RGB( 64,   0,   0),	RGB(128,   0,   0),	RGB(128,  64,  64),	RGB(255,   0,   0),	RGB(255, 128, 128),
	RGB(255, 255, 128),	RGB(255, 255,   0),	RGB(255, 128,  64),	RGB(255, 128,   0),	RGB(128,  64,   0),	RGB(128, 128,   0),
	RGB(128, 128,  64),	RGB(  0,  64,   0),	RGB(  0, 128,   0),	RGB(  0, 255,   0),	RGB(128, 255,   0),	RGB(128, 255, 128),
	RGB(  0, 255, 128),	RGB(  0, 255,  64),	RGB(  0, 128, 128),	RGB(  0, 128,  64),	RGB(  0,  64,  64),	RGB(128, 128, 128),
	RGB( 64, 128, 128),	RGB(  0,   0, 128),	RGB(  0,   0, 255),	RGB(  0,  64, 128),	RGB(  0, 255, 255), RGB(128, 255, 255),
	RGB(  0, 128, 255),	RGB(  0, 128, 192),	RGB(128, 128, 255),	RGB(  0,   0, 160),	RGB(  0,   0,  64),	RGB(192, 192, 192),
	RGB( 64,   0,  64),	RGB( 64,   0,  64),	RGB(128,   0, 128),	RGB(128,   0,  64),	RGB(128, 128, 192),	RGB(255, 128, 192),
	RGB(255, 128, 255),	RGB(255,   0, 255), RGB(255,   0, 128),	RGB(128,   0, 255), RGB( 64,   0, 128),	RGB(255, 255, 255),
};

void ColourPopup::create(int dialogID) 
{
	_hSelf = ::CreateDialogParam(_hInst, MAKEINTRESOURCE(dialogID), _hParent,  (DLGPROC)dlgProc, (LPARAM)this);
	
	if (!_hSelf)
	{
		systemMessage(TEXT("ColourPopup"));
		throw int(696);
	}
	Window::getClientRect(_rc);
	display();
}

BOOL CALLBACK ColourPopup::dlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 
{
	switch (message) 
	{
		case WM_MEASUREITEM:
		{
			RECT rc;
			LPMEASUREITEMSTRUCT lpmis =  (LPMEASUREITEMSTRUCT) lParam; 
			::GetWindowRect(::GetDlgItem(hwnd, lpmis->CtlID), &rc);
			lpmis->itemHeight = (rc.bottom-rc.top)/6; 
			lpmis->itemWidth = (rc.right-rc.left)/8;
			return TRUE;
		}

		case WM_INITDIALOG :
		{
			ColourPopup *pColourPopup = (ColourPopup *)(lParam);
			pColourPopup->_hSelf = hwnd;
			::SetWindowLongPtr(hwnd, GWL_USERDATA, (long)lParam);
			pColourPopup->run_dlgProc(message, wParam, lParam);
			return TRUE;
		}

		default :
		{
			ColourPopup *pColourPopup = reinterpret_cast<ColourPopup *>(::GetWindowLongPtr(hwnd, GWL_USERDATA));
			if (!pColourPopup)
				return FALSE;
			return pColourPopup->run_dlgProc(message, wParam, lParam);
		}
	}
}

BOOL CALLBACK ColourPopup::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{

	switch (message)
	{
		case WM_INITDIALOG:
		{
			int nColor;
			for (nColor = 0 ; nColor < int(sizeof(colourItems)/sizeof(DWORD)) ; nColor++)
			{
				::SendDlgItemMessage(_hSelf, IDC_COLOUR_LIST, LB_ADDSTRING, nColor, (LPARAM) "");
				::SendDlgItemMessage(_hSelf, IDC_COLOUR_LIST, LB_SETITEMDATA , nColor, (LPARAM) colourItems[nColor]);
				//if (g_bgColor == colourItems[nColor])
					//::SendDlgItemMessage(_hSelf, IDC_COLOUR_LIST, LB_SETCURSEL, nColor, 0);
			}
			//::SetCapture(_hSelf);
			return TRUE;
		}
		
		case WM_CTLCOLORLISTBOX:
			return (LRESULT) CreateSolidBrush(GetSysColor(COLOR_3DFACE));

		case WM_DRAWITEM:
		{
			HDC hdc;
			COLORREF	cr;
			HBRUSH		hbrush;
	
			DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam;
			hdc = pdis->hDC;
			RECT rc = pdis->rcItem;
	
			// Transparent.
			SetBkMode(hdc,TRANSPARENT);
	
			// NULL object
			if (pdis->itemID == UINT(-1)) return 0; 

			switch (pdis->itemAction)
			{
				case ODA_DRAWENTIRE:
					switch (pdis->CtlID)
					{
						case IDC_COLOUR_LIST:
							rc = pdis->rcItem;
							cr = (COLORREF) pdis->itemData;
							InflateRect(&rc, -3, -3);
							hbrush = CreateSolidBrush((COLORREF)cr);
							FillRect(hdc, &rc, hbrush);
							DeleteObject(hbrush);
							FrameRect(hdc, &rc, (HBRUSH) GetStockObject(GRAY_BRUSH));
							break;
					}
					// *** FALL THROUGH ***
				case ODA_SELECT:
					rc = pdis->rcItem;
					if (pdis->itemState & ODS_SELECTED)
					{
						rc.bottom --;
						rc.right --;
						// Draw the lighted side.
						HPEN hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNSHADOW));
						HPEN holdPen = (HPEN)SelectObject(hdc, hpen);
						MoveToEx(hdc, rc.left, rc.bottom, NULL);
						LineTo(hdc, rc.left, rc.top);
						LineTo(hdc, rc.right, rc.top);
						SelectObject(hdc, holdPen);
						DeleteObject(hpen);
						// Draw the darkened side.
						hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNHIGHLIGHT));
						holdPen = (HPEN)SelectObject(hdc, hpen);
						LineTo(hdc, rc.right, rc.bottom);
						LineTo(hdc, rc.left, rc.bottom);
						SelectObject(hdc, holdPen);
						DeleteObject(hpen);
					}
					else 
					{
						hbrush = CreateSolidBrush(GetSysColor(COLOR_3DFACE));
						FrameRect(hdc, &rc, hbrush);
						DeleteObject(hbrush);
					}
					break;
				case ODA_FOCUS:
					rc = pdis->rcItem;
					InflateRect(&rc, -2, -2);
					DrawFocusRect(hdc, &rc);
					break;
				default:
					break;
			}
			return TRUE;
		}

		case WM_COMMAND:
			switch (LOWORD(wParam))
            {
                case IDOK :
			    {
					isColourChooserLaunched = true;
					CHOOSECOLOR cc;                 // common dialog box structure 
					static COLORREF acrCustClr[16] = {
						RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),\
						RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),\
						RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),\
						RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),RGB(0xFF,0xFF,0xFF),\
					}; // array of custom colors 

					// Initialize CHOOSECOLOR 
					::ZeroMemory(&cc, sizeof(cc));
					cc.lStructSize = sizeof(cc);
					cc.hwndOwner = _hParent;

					cc.lpCustColors = (LPDWORD) acrCustClr;
					cc.rgbResult = _colour;
					cc.Flags = CC_FULLOPEN | CC_RGBINIT;

					display(false);
					 
					if (ChooseColor(&cc)==TRUE) 
					{
						::SendMessage(_hParent, WM_PICKUP_COLOR, cc.rgbResult, 0);
					}
					else
					{
						::SendMessage(_hParent, WM_PICKUP_CANCEL, 0, 0);
					}

				    return TRUE;
			    }

                case IDC_COLOUR_LIST :
                {
			        if (HIWORD(wParam) == LBN_SELCHANGE)
		            {
                        int i = ::SendMessage((HWND)lParam, LB_GETCURSEL, 0L, 0L);
                        _colour = ::SendMessage((HWND)lParam, LB_GETITEMDATA, i, 0L);

                        ::SendMessage(_hParent, WM_PICKUP_COLOR, _colour, 0);
					    return TRUE;
		            }
                }
			    
                default :
                    return FALSE;
            }
		
		case WM_ACTIVATE :
        {
			if (LOWORD(wParam) == WA_INACTIVE)
				if (!isColourChooserLaunched)
					::SendMessage(_hParent, WM_PICKUP_CANCEL, 0, 0);
			return TRUE;
		}
		
	}
	return FALSE;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频久久久久久| 成人免费黄色在线| 国产成人av电影在线观看| 91在线精品秘密一区二区| 欧美一区二区三区四区在线观看 | 国产香蕉久久精品综合网| 亚洲素人一区二区| 国产一区不卡精品| 在线91免费看| 一区二区国产视频| 99国产精品久久久久久久久久| 日韩美女一区二区三区四区| 亚洲图片有声小说| 色婷婷精品久久二区二区蜜臀av | 精品午夜久久福利影院| 在线视频综合导航| 亚洲欧洲av在线| 国产二区国产一区在线观看| 日韩精品一区二区在线观看| 亚洲一级电影视频| 在线精品亚洲一区二区不卡| 亚洲欧洲色图综合| 99久久国产综合精品麻豆| 国产精品狼人久久影院观看方式| 国产一区二区福利视频| 久久久一区二区| 蜜桃一区二区三区在线观看| 在线成人av影院| 亚洲午夜精品在线| 色婷婷av一区二区三区软件| 综合自拍亚洲综合图不卡区| av中文字幕亚洲| 亚洲区小说区图片区qvod| 99国产精品国产精品毛片| 国产精品久久久久久久久免费丝袜 | 久久综合九色综合欧美98| 麻豆精品一二三| 精品sm捆绑视频| 国产福利精品一区| 中文字幕一区二区三区av| 91免费观看视频| 亚洲午夜精品网| 日韩免费高清av| 国产激情91久久精品导航| 欧美经典一区二区| 色悠悠久久综合| 天堂成人国产精品一区| 欧美mv日韩mv| 粉嫩13p一区二区三区| 国产精品灌醉下药二区| 色视频成人在线观看免| 日精品一区二区三区| 欧美一区二区成人6969| 国产不卡免费视频| 亚洲资源中文字幕| 日韩亚洲电影在线| av一区二区不卡| 日本色综合中文字幕| 国产网红主播福利一区二区| 91蝌蚪国产九色| 麻豆精品视频在线观看| 中文字幕一区在线观看视频| 欧美色偷偷大香| 国产乱码精品一区二区三| 亚洲男人的天堂在线观看| 欧美一区二区三区的| 国产91精品久久久久久久网曝门| 一区二区三区91| 国产日韩欧美综合一区| 欧美日韩在线播| 从欧美一区二区三区| 日韩精品一二三区| 国产精品久久久久久久久免费相片| 欧美精品黑人性xxxx| 99视频精品在线| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品一二三四区| 久久免费视频色| 欧美巨大另类极品videosbest | 日本特黄久久久高潮| 国产日本欧洲亚洲| 7777精品伊人久久久大香线蕉完整版 | 久久99精品久久久久久国产越南| 一区在线观看视频| 久久久精品一品道一区| 欧美色倩网站大全免费| 99久久精品国产观看| 国产伦理精品不卡| 日韩电影在线看| 亚洲高清三级视频| 亚洲人成在线观看一区二区| 久久久一区二区| 日韩欧美在线观看一区二区三区| 欧美性色欧美a在线播放| 不卡电影一区二区三区| 国产精品一区二区在线观看不卡| 日本vs亚洲vs韩国一区三区二区| 亚洲国产一区二区视频| 国产精品国产自产拍在线| 国产亚洲人成网站| 久久色视频免费观看| 日韩一级黄色大片| 7878成人国产在线观看| 欧美日高清视频| 777xxx欧美| 欧美一区二区三区性视频| 欧美一区在线视频| 欧美日韩一卡二卡三卡| 欧美视频一区在线| 欧美精品粉嫩高潮一区二区| 欧美老年两性高潮| 在线观看91av| 精品捆绑美女sm三区| 精品久久久久久久人人人人传媒 | 亚洲一卡二卡三卡四卡五卡| 亚洲精品久久久蜜桃| 亚洲一区影音先锋| 亚洲自拍偷拍图区| 午夜婷婷国产麻豆精品| 丝袜诱惑制服诱惑色一区在线观看| 婷婷亚洲久悠悠色悠在线播放| 亚洲一区二区三区自拍| 天堂成人免费av电影一区| 强制捆绑调教一区二区| 国产一区二区主播在线| 国产成人小视频| 99精品国产热久久91蜜凸| 色香蕉成人二区免费| 欧美日韩电影在线| 精品国产乱码久久| 日本一区二区三区四区 | 国产精品视频观看| 亚洲视频图片小说| 天堂精品中文字幕在线| 国产一区高清在线| 91传媒视频在线播放| 欧美一区二区三区的| 中文字幕 久热精品 视频在线 | 国产在线播精品第三| 成人av影视在线观看| 在线看不卡av| 精品国产成人系列| 亚洲欧美一区二区三区久本道91| 亚洲国产成人av好男人在线观看| 狠狠色2019综合网| 一本到三区不卡视频| 日韩精品一区二区三区老鸭窝| 中文字幕乱码亚洲精品一区| 亚洲一区二区三区自拍| 国产一区日韩二区欧美三区| 在线观看av一区二区| 欧美va亚洲va在线观看蝴蝶网| 中文字幕一区在线观看视频| 美女爽到高潮91| 色婷婷综合久久久中文字幕| 欧美成人精品1314www| 亚洲免费观看高清完整| 激情文学综合网| 欧美猛男男办公室激情| 亚洲国产岛国毛片在线| 日韩成人伦理电影在线观看| 99国产精品视频免费观看| 精品动漫一区二区三区在线观看| 一区二区三区四区高清精品免费观看| 老司机午夜精品99久久| 欧美在线一区二区| 国产精品传媒入口麻豆| 久久草av在线| 欧美男生操女生| 一区二区三区自拍| 粉嫩一区二区三区性色av| 日韩一区二区三区四区五区六区| 亚洲欧美日韩国产一区二区三区| 韩国中文字幕2020精品| 欧美一区二区三区小说| 亚洲一区在线观看网站| 色综合色综合色综合色综合色综合| 欧美精品一区二区蜜臀亚洲| 午夜欧美2019年伦理| 一本到三区不卡视频| 亚洲视频免费在线| av在线这里只有精品| 中文一区在线播放| 韩国视频一区二区| 欧美r级在线观看| 久热成人在线视频| 日韩精品一区二区三区三区免费 | 亚洲综合成人在线| 91视频一区二区| 亚洲男人的天堂一区二区| 91免费看`日韩一区二区| 亚洲欧洲精品天堂一级| 97久久人人超碰| 亚洲欧美精品午睡沙发| 91在线云播放| 亚洲影院免费观看| 欧美三级一区二区| 日日夜夜免费精品视频| 欧美日产在线观看| 美女脱光内衣内裤视频久久影院|