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

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

?? browse.cpp

?? 圖像處理軟件,功能比較基礎(chǔ)
?? CPP
字號(hào):
// Browse.cpp : implementation file
//

#include "stdafx.h"
#include "linjunjuan.h"
#include "Browse.h"
#include <direct.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBrowse dialog







CBrowse::CBrowse(CWnd* pParent /*=NULL*/)
	:CBitmapDialog(CBrowse::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBrowse)
	m_strPath = _T("");
	//}}AFX_DATA_INIT
	one=TRUE;
//	nowpage=0;
}


void CBrowse::DoDataExchange(CDataExchange* pDX)
{
	CBitmapDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBrowse)
	DDX_Text(pDX, IDC_PATHNAME, m_strPath);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBrowse, CBitmapDialog)
	//{{AFX_MSG_MAP(CBrowse)
	ON_WM_PAINT()
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE2, OnSelchangedTree1)
	ON_BN_CLICKED(MY_BTN3, OnButtonUp)
	ON_BN_CLICKED(MY_BTN4, OnButtonDown)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONDBLCLK()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_DRAWPIC,OnDrawPic)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBrowse message handlers

void CBrowse::OnPaint() 
{	
	CPaintDC dc(this); // device context for painting	
	
}	


WNDPROC OldWndProc;
int g_num;
HWND g_hwnd[12];
BOOL g_flag[12];
BOOL flag=FALSE;
CSortStringArray strFileArray;
int nowpage=0;
int pagenum;
Picture pic;
HDIB *hdib=NULL;
RECT *rectdib=NULL,*rectdest=NULL;
int whichwindow;
int oldwhichwindow=0;
HBRUSH redbrush;

static int oldsize=0;
void Caculate(int row,int col,int &pre_row,int &pre_col)
{
	float rate;
	int Dest_length=100;
	if(row>col)
	{
		pre_row=Dest_length;
		rate=row/(float)Dest_length;
		pre_col=(int)(col/rate);
	}
	else
	{
		pre_col=Dest_length;
		rate=col/(float)Dest_length;
		pre_row=(int)(row/rate);
	}
}


LRESULT CALLBACK hwndWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	HWND hw;
	hw=hwnd;
	int i=0;
	PAINTSTRUCT ps;
	int temp,whichpic;
	RECT rect;
	BOOL flag=FALSE;
	int count=0;
	
	//============
	if(nowpage<pagenum||(nowpage==pagenum&&(g_num%12==0)))
	{
		for (i=0;i<12;i++)
		{
			if(hwnd==g_hwnd[i])
			{
				whichpic=nowpage*12+i;
				switch(message)
				{				
				case WM_PAINT:			
					hdc=BeginPaint(hwnd,&ps);								
					if(g_flag[i]==TRUE)
					{
						SelectObject(hdc,redbrush);
					}
					else 
					{
						SelectObject(hdc,GetStockObject(GRAY_BRUSH));
					}
					GetClientRect(hwnd,&rect);
					::Rectangle(hdc,rect.left,rect.top,rect.right,rect.bottom);
					PaintDIB(hdc,&rectdest[whichpic],hdib[whichpic],&rectdib[whichpic],NULL);	
					::EndPaint(hwnd,&ps);					
					return 0;
				case WM_NCHITTEST:
					whichwindow=i;	
				default:
					return CallWindowProc(OldWndProc,hwnd,message,wParam,lParam);
				}
			}
		}
	}
	else
	{
		temp=g_num%12;
		if(temp!=0)
		{
			for (i=0;i<temp;i++)
			{
				
				if(hwnd==g_hwnd[i])
				{
					whichpic=nowpage*12+i;
					switch(message)
					{		
					case WM_PAINT:			
						hdc=BeginPaint(hwnd,&ps);						
						if(g_flag[i]==TRUE)
						{
							SelectObject(hdc,redbrush);
						}
						else 
						{
							SelectObject(hdc,GetStockObject(GRAY_BRUSH));
						}
						GetClientRect(hwnd,&rect);
						::Rectangle(hdc,rect.left,rect.top,rect.right,rect.bottom);
						PaintDIB(hdc,&rectdest[whichpic],hdib[whichpic],&rectdib[whichpic],NULL);	
						::EndPaint(hwnd,&ps);
						return 0;
					case WM_NCHITTEST:
						whichwindow=i;	
					default:
						return CallWindowProc(OldWndProc,hwnd,message,wParam,lParam);
					}
				}
			}
		}
		else
		{
			for (i=0;i<12;i++)
			{
				if(hwnd==g_hwnd[i])
				{
					whichpic=nowpage*12+i;
					switch(message)
					{		
					case WM_PAINT:			
						hdc=BeginPaint(hwnd,&ps);
						if(g_flag[i]==TRUE)
						{
							SelectObject(hdc,redbrush);
						}
						else 
						{
							SelectObject(hdc,GetStockObject(GRAY_BRUSH));
						}
						GetClientRect(hwnd,&rect);
						::Rectangle(hdc,rect.left,rect.top,rect.right,rect.bottom);
						PaintDIB(hdc,&rectdest[whichpic],hdib[whichpic],&rectdib[whichpic],NULL);	
						::EndPaint(hwnd,&ps);						
						return 0;
					case WM_NCHITTEST:
						whichwindow=i;	
					default:
						return CallWindowProc(OldWndProc,hwnd,message,wParam,lParam);
					}
				}
			}
		}
	}
	return CallWindowProc(OldWndProc,hwnd,message,wParam,lParam);
}


BOOL CBrowse::OnInitDialog() 
{
//	CDialog::OnInitDialog();
	//設(shè)置背景
	CBitmapDialog::OnInitDialog();
	SetBitmap(IDB_BM_SKIN1, CBitmapDialog::BITMAP_TILE);
	TCHAR  szWorkDir[MAX_PATH];	
	if ( !m_TreeCtrl.m_hWnd )
	{
		if ( m_TreeCtrl.SubclassDlgItem( IDC_TREE2, this ) )
		{			
			m_TreeCtrl.DisplayTree( NULL /*Display all*/, FALSE /* TRUE = Display Files*/ );
			
			_getcwd( szWorkDir, 256 );
			// set the Path to the current Work-Directory
			m_TreeCtrl.SetSelPath( szWorkDir );
		}
	}
//==========================畫按鈕=================
	HRGN rgnR = CreateRectRgn(0, 0, 150, 50);
	HRGN rgnE = CreateEllipticRgn(0, 0, 150,50 );
	OffsetRgn(rgnR, 63, 0);
	CombineRgn(rgnE, rgnE, rgnR, RGN_DIFF);
	m_Btn3.Create("上一頁(yè)", WS_CHILD | WS_VISIBLE|WS_DISABLED, CPoint(630, 500), rgnE, this, MY_BTN3, 2, GetSysColor(COLOR_BTNFACE), RGB(156,175,194), RGB(237,175,71), GetSysColor(COLOR_BTNFACE)); 
	rgnR = CreateRectRgn(0, 0, 150, 50);
	rgnE = CreateEllipticRgn(0, 0, 150, 50);
	OffsetRgn(rgnR, -63, 0);
	CombineRgn(rgnE, rgnE, rgnR, RGN_DIFF);
	OffsetRgn(rgnE, -64, 0);
	m_Btn4.Create("下一頁(yè)", WS_CHILD | WS_VISIBLE|WS_DISABLED, CPoint(630 + 64, 500), rgnE, this, MY_BTN4, 2, GetSysColor(COLOR_BTNFACE), RGB(156, 175, 194), RGB(237, 175, 71), GetSysColor(COLOR_BTNFACE)); 
	DeleteObject(rgnE);
	DeleteObject(rgnR);	
	//==================================================================
	g_pWnd=GetDlgItem(IDC_PICTURE_ALL);	
	HWND hDlgwnd=g_pWnd->GetSafeHwnd();	
	HINSTANCE hIns=AfxGetInstanceHandle();
	for (int i=0;i<12;i++)
	{
		g_hwnd[i]=CreateWindow(TEXT("static"),NULL,WS_CHILD|WS_DLGFRAME,0,0,110,110,
			hDlgwnd,(HMENU) i,hIns,NULL);		
		OldWndProc=(WNDPROC)SetWindowLong(g_hwnd[i],GWL_WNDPROC,(LONG)hwndWndProc);
	}
	redbrush=CreateSolidBrush(RGB(255,0,0));
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void CBrowse::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	m_strPath = m_TreeCtrl.GetFullPath( pNMTreeView->itemNew.hItem );
	UpdateData(FALSE);	

	//========================================
	CFileFind find;
	CString   strPathFiles = m_strPath;
	BOOL      bFind;	
	CString filename;
	strFileArray.RemoveAll();
	nowpage=0;
	
	if ( strPathFiles.Right(1) != "\\" )
		strPathFiles += "\\";
	strPathFiles += "*.*";

	bFind = find.FindFile( strPathFiles );

	while ( bFind )
	{
		bFind = find.FindNextFile();		
		if ( !find.IsDirectory())
		{
			filename=find.GetFilePath();
			if (filename.Find(".bmp")!=-1||filename.Find(".pic")!=-1)
			strFileArray.Add( find.GetFilePath() );
		}

	}
	strFileArray.Sort();
	int num=strFileArray.GetSize();
	

	if(num!=0)
	{
		g_num=num;
		SendMessage(WM_DRAWPIC,NULL,NULL);
	}
	*pResult = 0;
	
}






LRESULT CBrowse::OnDrawPic(WPARAM wParam,LPARAM lParam)
{	
	pagenum=(int)(strFileArray.GetSize()/12.0)-1;
	if (strFileArray.GetSize()%12!=0)
		pagenum++;
	//=============================
	
	if (rectdib!=NULL)
	{
		delete [] rectdib;
		rectdib=NULL;
	}
	if(rectdest!=NULL)
	{
		delete []rectdest;
		rectdest=NULL;
	}	
	for (int j=0;j<oldsize;j++)
	{
		if(hdib[j]!=NULL)
		{
			GlobalFree((HGLOBAL)hdib[j]);
			hdib[j]=NULL;
		}
	}
	if (hdib!=NULL)
	{
		delete [] hdib;
		hdib=NULL;
	}


	int out_row,out_col;
//	pic= new Picture [strFileArray.GetSize()];
	hdib= new HDIB [strFileArray.GetSize()];
	for(j=0;j<strFileArray.GetSize();j++)
		hdib[j]=NULL;
	rectdib= new RECT [strFileArray.GetSize()];
	rectdest= new RECT [strFileArray.GetSize()];
	
	for (int i=0;i<strFileArray.GetSize();i++)
	{
		pic.p=InputImageWithName(strFileArray.GetAt(i),pic.row,pic.col);
		if (pic.p==NULL)
		{
			strFileArray.RemoveAt(i);
			continue;
		}
		hdib[i]=ChangeToHDIB(pic);
		if (hdib[i]==NULL)
		{
			strFileArray.RemoveAt(i);
			continue;
		}
		rectdib[i].left=rectdib[i].top=0;
		rectdib[i].right=pic.col;
		rectdib[i].bottom=pic.row;
		Caculate(pic.row,pic.col,out_row,out_col);
		if(pic.row<pic.col)
		{
			rectdest[i].left=5;
			rectdest[i].top=5+(50-out_row/2);
			rectdest[i].right=out_col;
			rectdest[i].bottom=out_row+(50-out_row/2);			
		}
		else
		{
			rectdest[i].left=5+(50-out_col/2);
			rectdest[i].top=5;
			rectdest[i].right=out_col+(50-out_col/2);
			rectdest[i].bottom=out_row;
		}
		dspace_2d(pic.p,pic.row,pic.col);
	}
	oldsize=strFileArray.GetSize();
	flag=FALSE;

	//=================================================
	Show_Nowpage_Pic();	
	RECT rect={237,22,766,480};
	InvalidateRect(&rect,TRUE);
	return 0;
}
void CBrowse::Show_Nowpage_Pic()
{
	
	int xnum,ynum,page_total_num;
	page_total_num=strFileArray.GetSize()%12;
//	if (flag==TRUE)
	{
		for (int k=0;k<12;k++)	
		{
			SetWindowLong(g_hwnd[k],GWL_STYLE,WS_CHILD|WS_DLGFRAME);
			::UpdateWindow(g_hwnd[k]);
		}
	}
	for(int i=0;i<12;i++)
		g_flag[i]=FALSE;
	if(nowpage>0&&nowpage<pagenum)
	{
		m_Btn3.EnableWindow(TRUE);
		m_Btn4.EnableWindow(TRUE);
	}
	if (nowpage==0)
	{
		m_Btn3.EnableWindow(FALSE);
		m_Btn4.EnableWindow(TRUE);
	}

	if (nowpage==pagenum&&(g_num%12!=0))
	{
		if(pagenum==0)
		{
			m_Btn3.EnableWindow(FALSE);		
		}
		else
			m_Btn3.EnableWindow(TRUE);
		m_Btn4.EnableWindow(FALSE);		
		xnum=(int)(page_total_num/4.0);
		ynum=strFileArray.GetSize()%4;
		for (int i=0;i<xnum;i++)	
		{
			for (int j=0;j<4;j++)
			{
				::MoveWindow(g_hwnd[j+4*i],20+(20+110)*j,20+(150*i),110,110,TRUE);
				SetWindowLong(g_hwnd[j+4*i],GWL_STYLE,WS_CHILD|WS_DLGFRAME|WS_VISIBLE);				
				::UpdateWindow(g_hwnd[j+4*i]);				
			}
		}
		for (int j=0;j<ynum;j++)
		{
			::MoveWindow(g_hwnd[j+4*xnum],20+(20+110)*j,20+(150*xnum),110,110,TRUE);
			SetWindowLong(g_hwnd[j+4*xnum],GWL_STYLE,WS_CHILD|WS_DLGFRAME|WS_VISIBLE);
			::UpdateWindow(g_hwnd[j+4*xnum]);		
		}
	}
	else 
	{
		if(pagenum==0)
		{
			m_Btn3.EnableWindow(FALSE);
			m_Btn4.EnableWindow(FALSE);
		}

		for (int i=0;i<3;i++)	
		{
			for (int j=0;j<4;j++)
			{
				::MoveWindow(g_hwnd[j+4*i],20+(20+110)*j,20+(150*i),110,110,TRUE);
				SetWindowLong(g_hwnd[j+4*i],GWL_STYLE,WS_CHILD|WS_DLGFRAME|WS_VISIBLE);
				::UpdateWindow(g_hwnd[j+4*i]);
			}
		}
	}
	flag=TRUE;
}
void CBrowse::OnButtonUp() 
{
	if (nowpage>0)
	{
		for(int i=0;i<12;i++)
		g_flag[i]=FALSE;
		nowpage--;		
		Show_Nowpage_Pic();		
		Invalidate(FALSE);		
	}
}

void CBrowse::OnButtonDown() 
{	
	RECT rect={237,22,766,480};
	if (nowpage<pagenum)
	{
		for(int i=0;i<12;i++)
		g_flag[i]=FALSE;
		nowpage++;			
		Show_Nowpage_Pic();
		InvalidateRect(&rect,TRUE);					
	}
}

void CBrowse::OnLButtonDown(UINT nFlags, CPoint point) 
{
	RECT rect={0,0,110,110};
	for(int i=0;i<12;i++)
		g_flag[i]=FALSE;
	g_flag[whichwindow]=TRUE;
	::InvalidateRect(g_hwnd[oldwhichwindow],&rect,FALSE);
	::InvalidateRect(g_hwnd[whichwindow],&rect,FALSE);	
	oldwhichwindow=whichwindow;
	CBitmapDialog::OnLButtonDown(nFlags, point);
}

void CBrowse::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	AfxGetApp()->OpenDocumentFile((LPCTSTR)strFileArray.GetAt(whichwindow+nowpage*12));
	CBitmapDialog::OnLButtonDblClk(nFlags, point);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美一区| 日本sm残虐另类| 中文在线一区二区| 中文乱码免费一区二区| 久久久av毛片精品| 欧美国产日本视频| 中文字幕成人在线观看| 综合精品久久久| 亚洲精品视频在线观看免费| 一区二区三区波多野结衣在线观看 | 高清不卡在线观看av| 国产精品一二三区在线| 成人一区二区三区中文字幕| 99久久精品免费看| 日本韩国一区二区| 欧美午夜一区二区| 日韩午夜精品电影| 国产视频一区在线播放| 亚洲少妇屁股交4| 一区二区三区资源| 婷婷亚洲久悠悠色悠在线播放| 天天av天天翘天天综合网| 麻豆精品国产91久久久久久| 高清av一区二区| 欧美性猛片aaaaaaa做受| 欧美一区二区精美| 久久久久九九视频| 亚洲男女一区二区三区| 人妖欧美一区二区| 丁香五精品蜜臀久久久久99网站 | 9191国产精品| 久久夜色精品国产噜噜av| 国产精品美女一区二区三区| 一区二区三区在线播放| 久久疯狂做爰流白浆xx| 97aⅴ精品视频一二三区| 欧美日韩免费不卡视频一区二区三区| 欧美日韩免费观看一区三区| 日韩一区二区三区在线视频| 国产精品久久久久久久久免费樱桃| 亚洲宅男天堂在线观看无病毒| 日韩精品成人一区二区三区 | 欧美日韩国产免费| 久久久午夜精品| 亚洲一区免费在线观看| 国产美女久久久久| 欧美性感一类影片在线播放| 久久精品夜色噜噜亚洲aⅴ| 樱桃国产成人精品视频| 国产一区不卡在线| 欧美视频精品在线| 国产精品视频yy9299一区| 午夜不卡av在线| av不卡在线观看| 日韩欧美精品三级| 亚洲国产一区二区三区青草影视| 国产一区二区三区精品视频| 欧美亚洲一区二区在线| 国产欧美视频在线观看| 日韩精品亚洲专区| 91色婷婷久久久久合中文| 久久婷婷国产综合国色天香| 午夜精品免费在线| 99v久久综合狠狠综合久久| 欧美一二区视频| 亚洲精品欧美在线| 亚洲福利一二三区| 精品91自产拍在线观看一区| 中文字幕制服丝袜一区二区三区 | 2022国产精品视频| 亚洲国产va精品久久久不卡综合| 国产精品亚洲视频| 欧美精品久久一区二区三区| 亚洲美女视频在线| gogo大胆日本视频一区| 久久亚洲精精品中文字幕早川悠里 | 精品国产凹凸成av人网站| 伊人性伊人情综合网| 成人午夜电影久久影院| 精品国产伦一区二区三区观看方式 | 精品久久久三级丝袜| 亚洲一级二级在线| 91在线免费看| 国产亚洲一区二区三区在线观看 | 日韩精品亚洲一区二区三区免费| 99riav一区二区三区| 欧美国产精品一区二区| 狠狠色综合日日| 日韩欧美在线1卡| 日韩激情视频在线观看| 欧美美女直播网站| 亚洲电影第三页| 欧美日韩三级视频| 亚洲v日本v欧美v久久精品| 91成人免费在线| 一区二区三区av电影| 91免费在线播放| 亚洲色图在线看| 91麻豆高清视频| 亚洲欧美一区二区在线观看| 成人动漫一区二区在线| 国产精品美女久久福利网站| av日韩在线网站| 成人欧美一区二区三区| 成人sese在线| 中文字幕一区二区三区不卡 | 日韩西西人体444www| 免费人成黄页网站在线一区二区| 欧美一区二区在线不卡| 天堂蜜桃91精品| 精品奇米国产一区二区三区| 国产又黄又大久久| 久久久久久久av麻豆果冻| 国产精品1区2区| 国产精品精品国产色婷婷| 色综合久久中文综合久久牛| 夜夜嗨av一区二区三区中文字幕| 欧美日韩国产一二三| 男女性色大片免费观看一区二区 | 欧美国产日产图区| 97久久超碰精品国产| 一区二区三区高清在线| 一区二区三区精品视频| 精品视频999| 麻豆国产欧美一区二区三区| 久久久不卡影院| 91麻豆免费视频| 日韩精品午夜视频| 久久久久九九视频| 91免费国产在线| 日韩精品乱码免费| 2017欧美狠狠色| 91丨九色丨蝌蚪富婆spa| 午夜精品久久久久久久久久久 | 亚洲美女屁股眼交3| 在线91免费看| 国产精品一区二区久久不卡| 成人免费一区二区三区在线观看| 欧美性猛交xxxx乱大交退制版 | 欧美性受xxxx| 久久精品国产澳门| 17c精品麻豆一区二区免费| 91精品视频网| 国产电影精品久久禁18| 亚洲综合一区二区| 精品国内二区三区| 一本色道综合亚洲| 麻豆成人91精品二区三区| 国产精品国产三级国产| 3d动漫精品啪啪一区二区竹菊| 国产高清不卡二三区| 亚洲福利一区二区| 欧美国产一区二区在线观看| 欧美精品成人一区二区三区四区| 国产夫妻精品视频| 午夜精品福利一区二区三区av| 国产女主播视频一区二区| 欧美视频精品在线| 成年人国产精品| 久久精品国产第一区二区三区| 亚洲视频每日更新| 精品少妇一区二区三区日产乱码 | 亚洲精品视频一区二区| 2020国产精品| 欧美日韩一级二级| 91女神在线视频| 国产suv一区二区三区88区| 奇米888四色在线精品| 亚洲一区二区三区自拍| 国产精品久久国产精麻豆99网站| 久久99热狠狠色一区二区| 在线看一区二区| 狠狠网亚洲精品| 亚洲地区一二三色| 亚洲视频免费在线观看| 久久久久久亚洲综合| 日韩一区二区三区免费观看| 欧洲日韩一区二区三区| 暴力调教一区二区三区| 国产精品乡下勾搭老头1| 免费观看日韩电影| 亚洲aaa精品| 亚洲国产成人va在线观看天堂 | 国产毛片精品一区| 美女视频一区二区三区| 亚洲不卡av一区二区三区| 亚洲精品成a人| 中文字幕一区二区三区色视频| 国产欧美一区二区精品久导航 | 理论片日本一区| 亚洲高清视频的网址| 一区二区三区**美女毛片| 中文字幕亚洲在| 欧美激情一区二区| 亚洲国产电影在线观看| 久久久久国产精品麻豆| 久久嫩草精品久久久久| 26uuu久久综合| 精品久久国产字幕高潮| 26uuu成人网一区二区三区|