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

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

?? toolbar.h

?? 一個功能強大的代碼編輯器源代碼
?? H
字號:
//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.

#ifndef TOOL_BAR_H
#define TOOL_BAR_H

#include "Window.h"
#include "resource.h"
#include "Notepad_plus_msgs.h"



#ifndef _WIN32_IE
#define _WIN32_IE	0x0600
#endif //_WIN32_IE

#include <commctrl.h>
#include <vector>
using namespace std;


#ifndef TB_SETIMAGELIST
#define TB_SETIMAGELIST	(WM_USER+48)
#endif

#ifndef TB_SETHOTIMAGELIST
#define TB_SETHOTIMAGELIST	(WM_USER+52)
#endif

#ifndef TB_SETDISABLEDIMAGELIST
#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
#endif

enum toolBarStatusType {TB_HIDE, TB_SMALL, TB_LARGE, TB_STANDARD};

#include "ImageListSet.h"


typedef struct {
	UINT		message;		// identification of icon in tool bar (menu ID)
	HBITMAP		hBmp;			// bitmap for toolbar
	HICON		hIcon;			// icon for toolbar
} tDynamicList;


class ToolBar : public Window
{
public :
	const static bool REDUCED;
	const static bool ENLARGED;
	ToolBar():Window(), _pTBB(NULL){};
	virtual ~ToolBar(){};

	virtual bool init(HINSTANCE hInst, HWND hPere, int iconSize, 
		ToolBarButtonUnit *buttonUnitArray, int arraySize,
		bool doUglyStandardIcon = false, int *bmpArray = NULL, int bmpArraySize = 0);

	virtual void destroy() {
		delete [] _pTBB;
		::DestroyWindow(_hSelf);
		_hSelf = NULL;
		_toolBarIcons.destroy();
	};
	void enable(int cmdID, bool doEnable) const {
		::SendMessage(_hSelf, TB_ENABLEBUTTON, cmdID, (LPARAM)doEnable);
	};

	int getHeight() const {
		if (!::IsWindowVisible(_hSelf))
			return 0;
		return Window::getHeight();
	};

	void reduce() {
		if (_state == TB_SMALL)
			return;
		// I really don't know why we have to enlarge then reduce 
		// to take the effect.
		if (_state == TB_STANDARD)
			_toolBarIcons.resizeIcon(32);

		_toolBarIcons.resizeIcon(16);
		reset();

		Window::redraw();
		_state = TB_SMALL;
	};
	void enlarge() {
		if (_state == TB_LARGE)
			return;
		_toolBarIcons.resizeIcon(32);
		reset();
		Window::redraw();
		_state = TB_LARGE;
	};

	void display(bool toShow = true) {
		Window::display(toShow);
		if (!toShow)
			_state = TB_HIDE;
	};

	bool getCheckState(int ID2Check) const {
		return bool(::SendMessage(_hSelf, TB_GETSTATE, (WPARAM)ID2Check, 0) & TBSTATE_CHECKED);
	};

	void setCheck(int ID2Check, bool willBeChecked) const {
		::SendMessage(_hSelf, TB_CHECKBUTTON, (WPARAM)ID2Check, (LPARAM)MAKELONG(willBeChecked, 0));
	};

	toolBarStatusType getState() const {return _state;};

	void setToUglyIcons();

	bool changeIcons(int whichLst, int iconIndex, const char *iconLocation){
		return _toolBarIcons.replaceIcon(whichLst, iconIndex, iconLocation);
	};

	void registerDynBtn(UINT message, toolbarIcons* hBmp);

private :
	TBBUTTON *_pTBB;
	ToolBarIcons _toolBarIcons;
	toolBarStatusType _state;
	int *_bmpArray;
	int _bmpArraySize;
	vector<tDynamicList>	_vDynBtnReg;


	void setDefaultImageList() {
		::SendMessage(_hSelf, TB_SETIMAGELIST , (WPARAM)0, (LPARAM)_toolBarIcons.getDefaultLst());
	};
	void setHotImageList() {
		::SendMessage(_hSelf, TB_SETHOTIMAGELIST , (WPARAM)0, (LPARAM)_toolBarIcons.getHotLst());
	};
	void setDisableImageList() {
		::SendMessage(_hSelf, TB_SETDISABLEDIMAGELIST, (WPARAM)0, (LPARAM)_toolBarIcons.getDisableLst());
	};



	void setButtonSize(int w, int h) {
		::SendMessage(_hSelf, TB_SETBUTTONSIZE , (WPARAM)0, (LPARAM)MAKELONG (w, h));
	};
	
	void reset();
	
};

class ReBar : public Window
{
public :
	ReBar():Window(), _pToolBar(NULL) {
		_rbi.cbSize = sizeof(REBARINFO);
		_rbi.fMask  = 0;
		_rbi.himl   = (HIMAGELIST)NULL;

		_rbBand.cbSize  = sizeof(REBARBANDINFO);
		_rbBand.fMask   = /*RBBIM_COLORS | RBBIM_TEXT | RBBIM_BACKGROUND | \*/
						RBBIM_STYLE | RBBIM_CHILD  | RBBIM_CHILDSIZE | \
						RBBIM_SIZE;

		_rbBand.fStyle  = RBBS_FIXEDSIZE | RBBS_CHILDEDGE;
		_rbBand.hbmBack = NULL;
		_rbBand.lpText     = "Toolbar";
	};

	virtual void destroy() {
		::DestroyWindow(_hSelf);
		_hSelf = NULL;
	};

	void init(HINSTANCE hInst, HWND hPere, ToolBar *pToolBar);
	void reNew() {
		_rbBand.hwndChild  = _pToolBar->getHSelf();
		int dwBtnSize = SendMessage(_pToolBar->getHSelf(), TB_GETBUTTONSIZE, 0,0);
		_rbBand.cyMinChild = HIWORD(dwBtnSize);
		::SendMessage(_hSelf, RB_INSERTBAND, (WPARAM)0, (LPARAM)&_rbBand);
	};

private:
	REBARINFO _rbi;
	REBARBANDINFO _rbBand;
	ToolBar *_pToolBar;
};

#endif // TOOL_BAR_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线一区观看| 亚洲国产成人高清精品| 欧美无砖专区一中文字| 99re8在线精品视频免费播放| 加勒比av一区二区| 国产一区999| 精品在线观看免费| 精品一区二区免费在线观看| 久久精品国产精品亚洲红杏| 日韩精品91亚洲二区在线观看| 亚洲成在人线免费| 日韩中文字幕亚洲一区二区va在线| 亚洲午夜精品一区二区三区他趣| 亚洲一区二区在线视频| 国产精品毛片久久久久久| 国产精品蜜臀在线观看| 亚洲欧美自拍偷拍色图| 一区二区三区四区蜜桃| 一区二区日韩电影| 日本成人在线网站| 国产成人三级在线观看| 91在线云播放| 欧美精品在线视频| 久久久99精品久久| 亚洲精品国产无天堂网2021| 婷婷六月综合亚洲| 国产一区在线不卡| 99re这里都是精品| 日韩精品中文字幕一区二区三区| 欧美韩日一区二区三区四区| 亚洲三级小视频| 日韩中文字幕91| 成人性生交大片免费看视频在线 | 日本中文字幕一区二区视频| 日本特黄久久久高潮| 成人免费的视频| 欧美日韩亚洲国产综合| 久久久亚洲欧洲日产国码αv| 亚洲欧美一区二区三区久本道91| 日韩av在线播放中文字幕| 懂色中文一区二区在线播放| 欧洲av一区二区嗯嗯嗯啊| 欧美mv日韩mv国产网站app| 国产精品每日更新| 韩国一区二区三区| 欧美日韩精品专区| 中文字幕在线一区免费| 麻豆精品在线观看| 欧美系列亚洲系列| 中文字幕亚洲电影| 麻豆精品视频在线观看| 欧美午夜寂寞影院| 国产精品夫妻自拍| 国产乱码精品一品二品| 9191国产精品| 夜夜亚洲天天久久| 99久久久无码国产精品| 久久精品夜色噜噜亚洲aⅴ| 天天影视涩香欲综合网| 色999日韩国产欧美一区二区| 久久午夜老司机| 美女在线一区二区| 欧美人牲a欧美精品| 亚洲精品亚洲人成人网| 成人免费av网站| 久久久久久久精| 韩国成人精品a∨在线观看| 777奇米四色成人影色区| 一区二区三区中文字幕在线观看| 成人丝袜18视频在线观看| 久久蜜桃av一区二区天堂| 日韩精品成人一区二区在线| 欧美精品高清视频| 亚洲成在人线在线播放| 欧美午夜精品免费| 亚洲国产sm捆绑调教视频| 在线观看亚洲专区| 亚洲一卡二卡三卡四卡无卡久久| 波多野结衣在线aⅴ中文字幕不卡| 国产丝袜美腿一区二区三区| 国产一区美女在线| 久久免费美女视频| 国产毛片精品国产一区二区三区| 亚洲精品一区二区三区香蕉| 国产一区二区美女| 久久精品视频网| 99久久综合色| 亚洲黄一区二区三区| 欧美在线不卡一区| 午夜a成v人精品| 日韩欧美激情四射| 国产精品99久久久久| 国产亚洲精品超碰| 99精品欧美一区| 亚洲一区二区中文在线| 欧美一区二区播放| 国产91在线观看丝袜| 亚洲精品国产一区二区精华液| 欧美日韩美女一区二区| 美女尤物国产一区| 国产精品久久夜| 在线免费观看视频一区| 日韩国产一区二| 国产视频一区二区三区在线观看| 成人免费视频免费观看| 一区二区三区日韩精品| 91精品免费在线观看| 国产精品123区| 亚洲一级电影视频| 欧美电影免费观看完整版 | 中文成人av在线| 色婷婷综合久久久久中文 | 蜜乳av一区二区| 中文字幕免费观看一区| 欧美色网一区二区| 国产精品99久久久久久有的能看| 亚洲精品亚洲人成人网在线播放| 777欧美精品| 91丨porny丨最新| 蜜臀久久99精品久久久久宅男 | 亚洲午夜激情网页| 国产日产亚洲精品系列| 欧美日韩激情一区| 成人av动漫在线| 久久精品国产99久久6| 亚洲美女屁股眼交3| 久久奇米777| 91麻豆精品国产91久久久久| 波多野结衣中文字幕一区二区三区| 视频一区在线播放| 亚洲精品自拍动漫在线| 国产目拍亚洲精品99久久精品| 欧美日韩精品一区二区三区 | 欧美日韩一区二区三区视频| 高清不卡在线观看av| 久久国产精品一区二区| 亚洲图片欧美一区| 亚洲欧美日韩在线| 国产精品美女久久久久久久| 欧美xxxxxxxxx| 欧美一区二区三区啪啪| 欧美艳星brazzers| 色婷婷亚洲精品| 成人手机在线视频| 国产夫妻精品视频| 狠狠色丁香婷综合久久| 久久99热国产| 蜜桃av噜噜一区| 美女视频第一区二区三区免费观看网站| 国产精品国产三级国产a| 国产婷婷色一区二区三区在线| 日韩精品一区二区三区在线观看 | 色8久久精品久久久久久蜜| 不卡的av在线播放| 91性感美女视频| 一本色道久久加勒比精品 | 555www色欧美视频| 欧美性大战久久| 欧美亚洲国产一区二区三区va| 99久久精品国产毛片| jvid福利写真一区二区三区| www.成人在线| 91在线精品秘密一区二区| 99九九99九九九视频精品| 99久久免费精品| 91极品美女在线| 精品视频全国免费看| 欧美电影一区二区| 日韩欧美一区二区三区在线| 精品捆绑美女sm三区| 久久精品视频网| 日韩码欧中文字| 五月综合激情婷婷六月色窝| 免费成人小视频| 狠狠色丁香久久婷婷综合_中| 国产一区二区三区在线观看精品| 国产成人午夜高潮毛片| 91亚洲精华国产精华精华液| 欧美色综合影院| 26uuu国产在线精品一区二区| 日本一区二区综合亚洲| 亚洲激情图片小说视频| 蜜桃av一区二区在线观看| 成人免费视频免费观看| 欧美性大战久久| 国产日韩成人精品| 亚洲国产日韩精品| 青娱乐精品在线视频| 国产999精品久久久久久| 欧美手机在线视频| 国产欧美日韩精品一区| 亚洲va韩国va欧美va| 成人美女视频在线观看18| 91精品国模一区二区三区| 国产精品视频一区二区三区不卡| 亚洲一区二区精品久久av| 国产成人av一区二区三区在线| 欧美亚洲免费在线一区| 国产精品五月天| 美女视频黄 久久|