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

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

?? rxedit.cpp

?? 合同管理系統(tǒng)
?? CPP
字號(hào):
// RxEdit.cpp : implementation file
//

#include "stdafx.h"
#include "RxEdit.h"
#include "RxGrid.h"
#include "htglxt.h"

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

RxEdit::RxEdit()
{
	this->IsShowing=false;
	this->Init=false;
	EnterNumber=0;
}

RxEdit::~RxEdit()
{
	m_Grid.DestroyWindow();
}


BEGIN_MESSAGE_MAP(RxEdit, CEdit)
	//{{AFX_MSG_MAP(RxEdit)
	ON_CONTROL_REFLECT(EN_CHANGE, OnChange)
	ON_CONTROL_REFLECT(EN_KILLFOCUS, OnKillfocus)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// RxEdit message handlers

void RxEdit::ShowGrid()
{
	this->AutoPosition();
	m_Grid.ShowWindow(SW_SHOW);
	this->IsShowing=true;
}

bool RxEdit::Initialize(CWnd *cParent)
{
	Parent=cParent;
	try{
		m_Grid.Create(WS_BORDER,CRect(0,0,200,200),cParent,EGRID);
	}
	catch(...)
	{
		return false;
	}
	this->ModifyStyle(LVS_EDITLABELS,0L); //標(biāo)題欄不可編輯
	m_Grid.ModifyStyle(0L,LVS_REPORT);     
	m_Grid.ModifyStyle(0L,LVS_SHOWSELALWAYS);    //高亮顯示被選中項(xiàng)
	m_Grid.SetExtendedStyle(LVS_EX_FULLROWSELECT| //允許整行選中
		LVS_EX_HEADERDRAGDROP|  //允許整列拖動(dòng)
		LVS_EX_GRIDLINES|     //畫出網(wǎng)格線
		LVS_EX_ONECLICKACTIVATE|     //單擊選中項(xiàng)
		LVS_EX_FLATSB);    //扁平風(fēng)格顯示滾動(dòng)條
	m_Grid.SetBkColor(RGB(255,255,230));
	m_Grid.SetTextBkColor(RGB(255,255,230));
	return true;
}

void RxEdit::SetRecordset(RxRecordset prst)
{
	int cols[255];
	this->m_Grid.GetColumnOrderArray(&cols[0]);
	for(int i=0;i<255;i++)
	{
		if(cols[i]==-858993460)
			break;
		m_Grid.DeleteColumn(i);
	}
	m_Grid.DeleteColumn(0);
	rst=prst;
	for(int m=0;m<prst.GetFieldCount();m++)
	{
		m_Fields[m]=prst.GetFieldName(m);	
		m_Grid.InsertColumn(m,m_Fields[m]);
	}
	this->AddItemValue(prst);
}

void RxEdit::AutoPosition()
{
	CRect EdtRect,ParentRect,NewRect;
	this->GetWindowRect(&EdtRect);
	Parent->GetWindowRect(&ParentRect);
	//取得 Edit 在 Parent 上的位置
	NewRect.top=EdtRect.top-ParentRect.top-23+EdtRect.Height();
	NewRect.left=EdtRect.left-ParentRect.left-4;
	NewRect.right=NewRect.left+GridRect.Width();
	NewRect.bottom=NewRect.top+120;
//處理橫坐標(biāo)
	if(NewRect.left>ParentRect.Width()/2)
	{
		NewRect.right=EdtRect.right-ParentRect.left-3;
		NewRect.left=NewRect.right-GridRect.Width();
		if(NewRect.left<20)
			NewRect.left=20;
	}
	else
	{
		NewRect.right=NewRect.left+GridRect.Width();
		if(NewRect.right>=::GetSystemMetrics(SM_CXSCREEN)-100)
			NewRect.right=::GetSystemMetrics(SM_CXSCREEN)-100;		
	}
	Parent->ClientToScreen(&NewRect);
	m_Grid.MoveWindow(&NewRect);
}

BOOL RxEdit::PreTranslateMessage(MSG* pMsg) 
{
	if(m_bOnly==true)
	{
		if(pMsg->message==WM_KEYDOWN&&((pMsg->wParam<48||pMsg->wParam>57)&&pMsg->wParam!=8&&pMsg->wParam!=8&&pMsg->wParam!=38&&pMsg->wParam!=40&&pMsg->wParam!=13&&pMsg->wParam!=VK_ESCAPE))
			if((pMsg->wParam<VK_NUMPAD0||pMsg->wParam>VK_NUMPAD9))
				{
					pMsg->wParam=VK_CONTROL ;
					return true;
				}
	}
	if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
	{
		if(this->IsShowing==true)//截獲ESC
		{
			this->HideGrid();
			pMsg->wParam=VK_CONTROL;
		}
	}
	CString sText;
	if(this->Init==false)
	{
		//設(shè)置字體、字號(hào)
		LOGFONT logfont;
		logfont.lfCharSet=134;
		logfont.lfClipPrecision=0;
		logfont.lfEscapement=0;
		logfont.lfHeight=-12;
		logfont.lfItalic=0;
		logfont.lfOrientation=0;
		logfont.lfOutPrecision=0;
		logfont.lfPitchAndFamily=2;
		logfont.lfQuality=0,
		logfont.lfStrikeOut=0;
		logfont.lfUnderline=0;
		logfont.lfWeight=400;
		logfont.lfWidth=0;
		strcpy(logfont.lfFaceName,"宋體");
		m_Font.DeleteObject();
		m_Font.CreateFontIndirect(&logfont);
		this->SetFont(&m_Font);
		this->Init=true;
	}
	//如果作為表格的單元格
	CString RunTimeClass="CListCtrl";
	if(this->IsShowing==true)
	{
		if(pMsg->message==WM_KEYDOWN && pMsg->wParam==38)
		{
			m_Grid.SetFocus();
			this->SetFocus();
			pMsg->hwnd=m_Grid.GetSafeHwnd();
			pMsg->message=WM_KEYDOWN;
			pMsg->wParam=38;
		}
		if(pMsg->message==WM_KEYDOWN && pMsg->wParam==40)
		{
			m_Grid.SetFocus();
			this->SetFocus();
			pMsg->hwnd=m_Grid.GetSafeHwnd();
			pMsg->message=WM_KEYDOWN;
			pMsg->wParam=40;
		}			
		if(pMsg->message==WM_KEYDOWN && pMsg->wParam==13)
		{
			if(m_Grid.GetSelectionMark()==-1)
				return true;
			sText=m_Grid.GetItemText(m_Grid.GetSelectionMark(),m_FieldNameNumber);
			this->SetWindowText(sText);
			this->HideGrid();
		}
		EnterNumber=0;
	}
	else
	{
		if(	this->GetParent()->GetRuntimeClass()->m_lpszClassName==RunTimeClass)
		{
			RxGrid* rParent =(RxGrid*)GetParent();
			
			if(pMsg->message==WM_KEYUP && pMsg->wParam==13)
				pMsg->hwnd=Parent->GetParent()->GetSafeHwnd();
			if(pMsg->message==WM_KEYDOWN && pMsg->wParam==13)
			{
				EnterNumber=EnterNumber+1;
				if(EnterNumber>1)     //用戶敲兩次回車
					goto end;
				this->GetWindowText(sText);
				if(sText.IsEmpty())
					return false;
				rParent->MoveNextItem();
				pMsg->hwnd=Parent->GetParent()->GetSafeHwnd();
				
			}
		}
end:	if(pMsg->message==WM_KEYDOWN && pMsg->wParam==13)
			pMsg->wParam=9;
	}
	return CEdit::PreTranslateMessage(pMsg);
}

void RxEdit::HideGrid()
{
	this->m_Grid.ShowWindow(SW_HIDE);
	this->IsShowing=false;
}


void RxEdit::SetSelectField(CString sFieldName)
{
	this->m_FieldName=sFieldName;
	for(int m=0;m<255;m++)
	{
		if(sFieldName==this->m_Fields[m])
		{
			m_FieldNameNumber=m;
			break;
		}
	}
}

void RxEdit::OnChange() 
{
	if(this->PopHide==true)
		return ;
	if(this->m_FieldName.IsEmpty())
		return;
	CString sSQL,sText,sRecordset;
	RxRecordset OnCrst;
	sRecordset=rst.GetSQL();
	if(sRecordset.IsEmpty())
		return;
	BYTE chr;
	this->GetWindowText(sText);
	if(sText.IsEmpty()==false)
		chr=sText.GetAt(0);
	else
		goto Next;

	if(this->StartUpAssciation==true)//啟動(dòng)聯(lián)系輸入
	{
		if(chr>=97 &&chr<=122)    //小寫字母
			sSQL.Format("SELECT * From %s  WHERE 簡(jiǎn)稱 LIKE'%s%%'",sRecordset,sText);
		else
			goto Next;
	}
	else
Next:	sSQL.Format("SELECT * From %s WHERE %s LIKE'%s%%'",sRecordset,this->m_FieldName,sText);
	OnCrst.Open(sSQL,adCmdText);
	if (OnCrst.GetRecordCount()<=0)
		return;
	if(this->IsShowing==false)
		this->ShowGrid();
	this->AddItemValue(OnCrst);
//	this->SetSel(sText.GetLength(),0);
	m_Grid.SetParent(Parent->GetParent());
}

void RxEdit::AddItemValue(RxRecordset prst)
{
	CString sValue;
	int ColumnWidth=0;
	m_Grid.DeleteAllItems();
	for(int m=0;m<prst.GetRecordCount();m++)
	{
		m_Grid.InsertItem(m,"");
	}
	for( m=0;m<prst.GetRecordCount();m++)
	{
		prst.Move(m);
		for(int n=0;n<prst.GetFieldCount();n++)
		{
			sValue=prst.GetFieldValue(prst.GetFieldName(n));
			m_Grid.SetItemText(m,n,sValue);
		}
	}
	for(m=0;m<prst.GetFieldCount();m++)
	{
		m_Grid.SetColumnWidth(m,LVSCW_AUTOSIZE);
	}
	
	for(m=0;m<prst.GetFieldCount();m++)
	{
		m_Grid.SetColumnWidth(m,m_Grid.GetColumnWidth(m)+20);
		ColumnWidth=ColumnWidth+m_Grid.GetColumnWidth(m);
	}
	CRect rect;
	m_Grid.GetClientRect(&rect);
	rect.right=rect.left+ColumnWidth;
	GridRect=rect;
}

void RxEdit::OnKillfocus() 
{
	CString RunTimeClass="CListCtrl";
	if(this->GetParent()->GetRuntimeClass()->m_lpszClassName==RunTimeClass)
	{
		RxGrid* Parent =(RxGrid*)GetParent();
		if(Parent)
			Parent->EndEdit();	
	}
	EnterNumber=0;
}

void RxEdit::ClearAll()
{
	try{
		m_Grid.DeleteAllItems();
	}
	catch(...)
	{
		return;
	}
	for(int m=0;m<rst.GetFieldCount();m++)
	{
		try{
		m_Grid.DeleteColumn(0);
		}
		catch(...)
		{
			break;
		}
	}
}


void RxEdit::NumberOnly(bool bOnly)
{
	m_bOnly=bOnly;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区人人喊爽| 国产xxx精品视频大全| 5858s免费视频成人| 亚洲成人一区二区在线观看| 欧美日韩国产片| 天堂一区二区在线免费观看| 欧美成人乱码一区二区三区| 国产精品99久久久| 亚洲人成在线播放网站岛国| 欧美日韩日本视频| 精品一区二区久久| 国产精品无遮挡| 欧美精品久久天天躁| 黑人巨大精品欧美黑白配亚洲| 国产欧美一区二区精品性| 99国产欧美另类久久久精品| 香蕉影视欧美成人| 久久综合色天天久久综合图片| av资源网一区| 蓝色福利精品导航| 中文字幕亚洲一区二区av在线| 欧美理论片在线| 国产传媒欧美日韩成人| 一区二区激情小说| 精品欧美乱码久久久久久1区2区| 99久久伊人网影院| 日韩电影免费一区| 亚洲国产成人午夜在线一区 | 色婷婷一区二区三区四区| 奇米色777欧美一区二区| 国产精品亲子乱子伦xxxx裸| 欧美日韩国产一区| 成人国产免费视频| 日韩激情一二三区| 亚洲欧洲日韩av| 欧美成人一区二区| 欧美亚洲自拍偷拍| 国产成人免费视频网站高清观看视频 | 狠狠色丁香久久婷婷综| 亚洲色图视频网站| 九九九精品视频| 亚洲夂夂婷婷色拍ww47| 丁香啪啪综合成人亚洲小说 | 日韩欧美亚洲一区二区| 蜜芽一区二区三区| 久久亚洲综合色一区二区三区| 国产一区二区三区最好精华液| 久久久国产一区二区三区四区小说 | 亚洲精品视频观看| 欧美午夜精品久久久| 午夜久久电影网| 日韩一区二区三区视频在线| 国产一区二区在线影院| 成人免费在线视频| 欧美巨大另类极品videosbest| 麻豆成人久久精品二区三区红| 亚洲国产精品黑人久久久| 欧美在线制服丝袜| 精品一区二区三区免费视频| 国产精品网友自拍| 欧美日韩电影一区| 国产精品一区免费在线观看| 伊人色综合久久天天人手人婷| 日韩三级av在线播放| 成人av资源在线| 日韩中文字幕区一区有砖一区| 欧美经典三级视频一区二区三区| 欧美在线观看视频一区二区三区| 另类专区欧美蜜桃臀第一页| 亚洲人吸女人奶水| 精品美女被调教视频大全网站| caoporen国产精品视频| 蜜桃视频在线观看一区| 亚洲免费av观看| 久久精品视频免费| 欧美美女激情18p| 成人免费黄色大片| 日韩高清一级片| 亚洲视频一二三| 国产亚洲精品超碰| 538prom精品视频线放| 北条麻妃国产九九精品视频| 日韩高清电影一区| 亚洲综合清纯丝袜自拍| 国产欧美视频一区二区| 91精品国产全国免费观看| 色综合久久天天| 成人精品免费网站| 九色综合国产一区二区三区| 伊人一区二区三区| 国产精品私人影院| 欧美精品一区二区三区很污很色的 | 亚洲婷婷国产精品电影人久久| 日韩欧美色综合网站| 在线看不卡av| 一本大道久久a久久综合| 国产美女一区二区| 久久99精品一区二区三区三区| 一区二区三区色| 亚洲人成网站色在线观看| 国产日韩精品一区二区浪潮av| 日韩欧美不卡在线观看视频| 精品视频123区在线观看| 色综合一个色综合| 成人蜜臀av电影| 国v精品久久久网| 国产麻豆精品视频| 激情伊人五月天久久综合| 日本中文字幕不卡| 热久久免费视频| 天堂成人国产精品一区| 天天操天天干天天综合网| 亚洲高清在线视频| 亚洲高清在线精品| 首页欧美精品中文字幕| 天天综合色天天| 蜜臀av一区二区| 久久精品国产一区二区三区免费看| 天堂成人国产精品一区| 午夜久久久久久久久| 轻轻草成人在线| 美女性感视频久久| 国产精品一区专区| 国产成人精品aa毛片| 国产成人啪午夜精品网站男同| 国产精品88av| thepron国产精品| 欧洲精品在线观看| 欧美一卡二卡三卡四卡| 欧美精品一区二区三区视频| 亚洲国产精品黑人久久久| 亚洲天堂成人在线观看| 午夜精品一区二区三区三上悠亚| 视频一区二区三区中文字幕| 另类专区欧美蜜桃臀第一页| 成人一区二区在线观看| 日本国产一区二区| 日韩视频国产视频| 国产精品嫩草99a| 亚洲成人av电影| 精品一区二区三区香蕉蜜桃| 国产91精品免费| 欧美影院精品一区| 日韩一区二区三区三四区视频在线观看 | 精品无码三级在线观看视频| 丁香一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 欧美日韩精品一区二区天天拍小说| 777久久久精品| 中文欧美字幕免费| 五月婷婷综合在线| 久久精品无码一区二区三区| 91麻豆精品国产91| 中文字幕免费不卡| 日本va欧美va瓶| 成人a免费在线看| 欧美酷刑日本凌虐凌虐| 国产日韩精品一区二区三区| 日韩中文字幕一区二区三区| 国产一区二区三区| 欧美日韩一区二区三区免费看| 久久综合色8888| 天堂久久一区二区三区| 99久久久精品免费观看国产蜜| 欧美日韩国产乱码电影| 欧美国产国产综合| 久久av资源网| 欧美日韩第一区日日骚| 国产精品不卡在线观看| 看电视剧不卡顿的网站| 欧美日韩国产另类不卡| 综合久久综合久久| 国产成人精品免费看| 欧美成人精品福利| 日韩影院免费视频| 在线观看欧美日本| 亚洲视频香蕉人妖| 成人黄色国产精品网站大全在线免费观看 | 日本人妖一区二区| 在线观看视频一区二区| 国产精品久久久久久久久免费桃花| 青青草精品视频| 9191成人精品久久| 亚洲一二三级电影| 色综合天天综合色综合av| 欧美激情一区三区| 国产成人午夜99999| 2019国产精品| 另类小说视频一区二区| 日韩一区二区三区电影在线观看 | 亚洲裸体在线观看| 99国产精品久久久久| 中文幕一区二区三区久久蜜桃| 国产高清视频一区| 欧美精品一区二区在线播放| 裸体健美xxxx欧美裸体表演| 欧美精选在线播放| 日韩高清一区二区| 日韩一级二级三级精品视频| 日韩国产精品久久久|