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

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

?? bmdialog.cpp

?? visual c++ 實例編程
?? CPP
字號:
// BMDialog.cpp : 實現(xiàn)文件
//

#include "stdafx.h"
#include "StudentScore.h"
#include "BMDialog.h"


// CBMDialog 對話框

IMPLEMENT_DYNAMIC(CBMDialog, CDialog)
CBMDialog::CBMDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CBMDialog::IDD, pParent)
{
}

CBMDialog::~CBMDialog()
{
}

void CBMDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CBMDialog, CDialog)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BUTTON1, OnAddRec)
END_MESSAGE_MAP()


// CBMDialog 消息處理程序

BOOL CBMDialog::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  在此添加額外的初始化
	//動態(tài)創(chuàng)建組件
	CFieldRecord* pRecord;
	int top=0;
	for(int i=1;i<=this->RecordArray.GetSize();i++)
	{
		
        top=(i-1)*22; 
        pRecord=(CFieldRecord*)RecordArray.GetAt(i-1); 
        this->CreateStatic(pRecord,top,70+i);
	
		if((pRecord->IsBool)||(pRecord->pFK!=NULL))//布爾或有關聯(lián)外鍵
		{
			this->CreateCombo(pRecord,top,10+i);
 		}
		else
		{
	        this->CreateEdit(pRecord,top,10+i);
		}

	}

	CWnd* pWnd;
	CRect rect;
	
	pWnd=this->GetDlgItem(IDC_BUTTON1);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);

	pWnd=this->GetDlgItem(IDOK);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);
    
	pWnd=this->GetDlgItem(IDCANCEL);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);
    
	this->GetWindowRect(&rect);
	int width=rect.right-rect.left; 
    this->MoveWindow(rect.left,rect.top,width,top+100);  

	if(!this->ISADD)
	{
		this->GetDlgItem(IDC_BUTTON1)->EnableWindow(false);
	    this->SetWindowText("修改記錄");
	}
	else
	{   
		this->GetDlgItem(IDOK)->EnableWindow(false);
		this->GetDlgItem(IDCANCEL)->SetWindowText("關閉");
	    this->SetWindowText("添加記錄");
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	// 異常:OCX 屬性頁應返回 FALSE
}


void CBMDialog::PostNcDestroy()
{

	CDialog::PostNcDestroy();
}

void CBMDialog::OnBnClickedOk()
{
	// TODO: 在此添加控件通知處理程序代碼
	//判斷添加內容(編輯框)是否為空
    this->SendChangeMsg();		
	OnOK();
}
//釋放創(chuàng)建的組件
void CBMDialog::FreeControls(void)
{
	CWnd *pWnd;
    for(int i=1;i<=this->RecordArray.GetSize();i++)
	{
		//釋放靜態(tài)框
	   	pWnd=this->GetDlgItem(70+i);
		if (pWnd)
		{
			pWnd->DestroyWindow();
			delete pWnd;
			pWnd=NULL;
		}
		//釋放文本框或其它
		pWnd=this->GetDlgItem(10+i);
		if(pWnd)
		{
			if (pWnd->IsKindOf(RUNTIME_CLASS(CComboBox)))
			{
			   CComboBox* pComboBox=(CComboBox*) pWnd;
			   void* p;
			   for(int j=0;j<pComboBox->GetCount();j++)
			   {
				   p=pComboBox->GetItemDataPtr(j);
				   if(p)
				   delete p;
			   }
               for(j=0;j<pComboBox->GetCount();j++)
			   {
			      	pComboBox->DeleteString(0);
			   }
			   
			}
			pWnd->DestroyWindow();
			delete pWnd;
			pWnd=NULL;		
		}
	}
	//釋放數(shù)組
    i=0;
	CFieldRecord* pRecord=NULL;
	while(i<this->RecordArray.GetSize()) 
	{
      pRecord=(CFieldRecord*)RecordArray.GetAt(i); 
      if(pRecord->pFK)//如果有外鍵,釋放外鍵
	  {
	     delete pRecord->pFK; 
	  }
	  delete pRecord;
	  i++;
   }
   this->RecordArray.RemoveAll();
}

void CBMDialog::OnFinalRelease()
{
	// TODO: 在此添加專用代碼和/或調用基類
	CDialog::OnFinalRelease();
}

void CBMDialog::OnDestroy()
{
    this->FreeControls();//釋放組件
	CDialog::OnDestroy();

	// TODO: 在此添加消息處理程序代碼
}

CString CBMDialog::GenerateInsertSql(void)
{
	CString sqlstr,fldlist,valuelist;
	CFieldRecord* pRecord;
	ASSERT(this->m_OprTblName!=""); 

	for(int i=0;i<this->RecordArray.GetSize();i++)
	{
       pRecord=	(CFieldRecord*)this->RecordArray.GetAt(i);
	   //獲得值
	   if (pRecord->IsBool)
	   {
		   if(_stricmp(pRecord->Value,"是")==0) 
		      valuelist=valuelist+"TRUE";
		   else if(_stricmp(pRecord->Value,"否")==0)
		     valuelist=valuelist+"FALSE";

	   }
	   else if(pRecord->IsStrType)
	   {
	      valuelist=valuelist+"'"+pRecord->Value+"'";
	   }
	   else
	   {
	      valuelist=valuelist+pRecord->Value; 
	   }
      //字段
	   fldlist=fldlist+pRecord->FieldName;
	   //判斷,
	   if(i!=this->RecordArray.GetSize()-1)
	   {
	      fldlist=fldlist+",";
		  valuelist=valuelist+",";
	   }
	}

	sqlstr="insert into "+this->m_OprTblName+"("+fldlist+") values("+valuelist+")";
	return sqlstr;
}

CString CBMDialog::GenerateUpdateSql(void)
{
	CString sqlstr,updatestr,valuelist,constr;
	CFieldRecord* pRecord;
	ASSERT(this->m_OprTblName!=""); 
	
	pRecord=(CFieldRecord*)this->RecordArray.GetAt(0);
    if(pRecord->IsStrType)
	{
	    valuelist="'";
		valuelist=valuelist+pRecord->Value;
		valuelist=valuelist+"'";
	}
	else
	{
	    valuelist=pRecord->Value; 
	}
    constr="where ";
	constr=constr+pRecord->FieldName+"="+valuelist; 

	for(int i=1;i<this->RecordArray.GetSize();i++)
	{
       pRecord=	(CFieldRecord*)this->RecordArray.GetAt(i);
	   //獲得值
	   if (pRecord->IsBool)
	   {
		   if(_stricmp(pRecord->Value,"是")==0) 
		      valuelist="TRUE";
		   else if(_stricmp(pRecord->Value,"否")==0)
		     valuelist="FALSE";

	   }
	   else if(pRecord->IsStrType)
	   {
		  valuelist="'";
		  valuelist=valuelist+pRecord->Value;
		  valuelist=valuelist+"'";
	   }
	   else
	   {
	      valuelist=pRecord->Value; 
	   }
      //字段
	   updatestr=updatestr+pRecord->FieldName+"="+valuelist;
	   //判斷,
	   if(i!=this->RecordArray.GetSize()-1)
	   {
	      updatestr=updatestr+",";
	   }
	}

	sqlstr="update "+this->m_OprTblName+" set "+updatestr+" "+constr;
	return sqlstr;
}

void CBMDialog::OnAddRec()
{
	// TODO: 在此添加控件通知處理程序代碼
	this->SendChangeMsg();	
}
void CBMDialog::CreateStatic(CFieldRecord* pRecord,int top,UINT CtlID)
{  	
	CStatic *pText;
    pText=new CStatic();
    pText->Create(pRecord->FieldName, WS_CHILD|WS_VISIBLE|SS_CENTER, 
                   CRect(10,2+top, 110, 23+top), this,CtlID);
	pText->ShowWindow(SW_SHOW);
	pText->SetFont(this->GetFont());
}
void CBMDialog::CreateCombo(CFieldRecord* pRecord,int top,UINT CtlID)
{
	CComboBox* pCombo;
    pCombo=new CComboBox();
	pCombo->Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST,
		        CRect(110,2+top, 250, 230+top), this, CtlID);
	pCombo->ShowWindow(SW_SHOW);
    pCombo->SetFont(this->GetFont());
	if(pRecord->IsBool)
	{
		pCombo->AddString("是");
		pCombo->AddString("否");
		if(this->ISADD)
		{
			pCombo->SetCurSel(0);
		}
		else//不是新增加
		{
			if(_stricmp(pRecord->Value,"TRUE")==0)
			{
				pCombo->SetCurSel(0);
			}
			else
			{
				pCombo->SetCurSel(1);
			}
		}
	}
	else//有外鍵
	{
		this->FillComboByDS(pRecord,pCombo);
	}
}
void CBMDialog::CreateEdit(CFieldRecord* pRecord,int top,UINT CtlID)
{
	    CEdit *pEdit;
	  	pEdit=new CEdit();
    	pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
		            CRect(110,2+top, 250, 23+top), this, CtlID);
		pEdit->ShowWindow(SW_SHOW);
	    pEdit->SetWindowText(pRecord->Value);
		pEdit->SetFont(this->GetFont());
}
void CBMDialog::FillComboByDS(CFieldRecord* pRecord,CComboBox* pCombo)
{
	if(pRecord->pFK==NULL)
		return;
	storage1.OpenSql(pRecord->pFK->FKtbl);
	int count=storage1.GetRecordCount();
	if(count==0)
		return;
	CFldValue* pValue ; //用于添加記錄指針
	CString value;      
	int index;         // 
	int selindex=-1;   //選擇的記錄(用于修改時)
	storage1.MoveFirst();

    for(int i=0;i<count;i++)
	{
	   pValue=new CFldValue();  
	   storage1.GetFieldValue(pRecord->pFK->FieldName,value);
       strcpy(pValue->FieldValue,value);
	   storage1.GetFieldValue(pRecord->pFK->DisplayName,value);
	   strcpy(pValue->DispalyFieldValue,value);
       index=pCombo->AddString(pValue->DispalyFieldValue);
	   pCombo->SetItemDataPtr(index,pValue);
	   //判斷當前選項
       if(_stricmp(pValue->FieldValue,pRecord->Value)==0)
		   selindex=index;
	   storage1.MoveNext();
	}
   
	//判斷
	if(this->ISADD)
	{
		pCombo->SetCurSel(0);
	}
	else//不是新增加,為修改時
	{
        pCombo->SetCurSel(selindex);
	}

}
//發(fā)送修改或添加消息
void CBMDialog::SendChangeMsg(void)
{
	CWnd* pWnd;
	CString value,Msg;
	CFieldRecord* pRecord;
	for(int i=1;i<=this->RecordArray.GetSize();i++)
	{ 
	  pWnd=this->GetDlgItem(10+i);

	  if(pWnd)
	  {
		 pRecord=(CFieldRecord*)RecordArray.GetAt(i-1);
	     if ((!pRecord->IsBool)&&pWnd->IsKindOf(RUNTIME_CLASS(CComboBox)))
			{  	 //非布爾類型,且有關聯(lián)字段時
			   CComboBox* pCombo=(CComboBox*) pWnd;
			   CFldValue* p;
			   int index=pCombo->GetCurSel();
			   p=(CFldValue*)pCombo->GetItemDataPtr(index);
			   value=p->FieldValue; 
			}
		 else
		 pWnd->GetWindowText(value);
		 value.TrimRight(); 
		 if(value=="")
		 {
           Msg=(CString)pRecord->FieldName+"不能為空!"; 
		   AfxMessageBox(Msg);
		   pWnd->SetFocus();
		   return;
		 }
		 else
		 {
			 if((i==1)&&(!this->ISADD))//如果是修改的話,則不對第一字段操作
			   {}
			 else
			   strcpy(pRecord->Value,value); 
		 }
	  }

	}
 
	//發(fā)送字符串
	CString cSend;
	if(this->ISADD)
	{ 
	    cSend=this->GenerateInsertSql();

	}
	else
	{
	     cSend=this->GenerateUpdateSql();
	}
	LPARAM lparam=(LPARAM)&cSend; 
	::SendMessage((HWND)this->m_hParent,WM_USER+51,0,lparam);  

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜免费电影| 亚洲国产视频一区二区| 国产精品久久久久影院老司| 伊人色综合久久天天人手人婷| 蜜臀va亚洲va欧美va天堂 | 色综合久久久久久久久| 欧美一区二区三区人| 亚洲视频在线一区二区| 精品一区二区免费视频| 欧美日韩国产经典色站一区二区三区 | 一区二区三区高清不卡| 国产一区在线视频| 91精品国产免费| 亚洲成a人v欧美综合天堂下载 | 国产欧美精品一区二区三区四区 | 欧美绝品在线观看成人午夜影视| 亚洲欧美在线视频观看| 国产久卡久卡久卡久卡视频精品| 欧美日韩亚洲国产综合| 亚洲黄色av一区| 成人av先锋影音| 久久精品亚洲国产奇米99| 久久成人免费网| 欧美一区二区不卡视频| 亚洲国产精品一区二区久久 | 日韩欧美在线不卡| 一区二区高清视频在线观看| 99久久综合国产精品| 国产精品亲子乱子伦xxxx裸| 国产精品99精品久久免费| 欧美电影免费观看高清完整版在| 日韩成人免费看| 337p亚洲精品色噜噜噜| 五月婷婷综合在线| 91精品国产综合久久精品性色| 亚洲aaa精品| 制服视频三区第一页精品| 日本少妇一区二区| 日韩午夜小视频| 奇米影视7777精品一区二区| 91精品婷婷国产综合久久| 奇米综合一区二区三区精品视频| 日韩三级电影网址| 国产一区日韩二区欧美三区| 久久午夜电影网| 成人理论电影网| 亚洲精品中文在线| 欧美日韩一卡二卡| 日韩电影在线观看电影| 日韩欧美电影一二三| 国产精品亚洲第一区在线暖暖韩国 | 国产日韩精品一区| 91片在线免费观看| 亚洲福利国产精品| 日韩欧美激情在线| 国产成人在线免费| 亚洲天天做日日做天天谢日日欢| 色综合一个色综合| 青青草97国产精品免费观看无弹窗版| 日韩欧美你懂的| 东方aⅴ免费观看久久av| 一区二区三区高清不卡| 日韩欧美国产一区二区三区 | 91成人在线免费观看| 日韩精品乱码av一区二区| 久久先锋影音av鲁色资源网| 99国产精品久久久久久久久久| 亚洲成人av中文| 久久久综合精品| 在线观看91精品国产入口| 激情综合网av| 亚洲综合自拍偷拍| 久久午夜色播影院免费高清| 色久综合一二码| 国产一区二区日韩精品| 一区二区三区成人在线视频| 欧美xingq一区二区| 91看片淫黄大片一级在线观看| 日韩av中文字幕一区二区| 国产精品白丝在线| 欧美v国产在线一区二区三区| 99re这里只有精品视频首页| 久久精品99国产精品日本| 亚洲三级理论片| 久久综合久久久久88| 日韩va欧美va亚洲va久久| 久久久久久久网| 午夜电影久久久| 欧美精品一区二区三区很污很色的| 国产乱码精品1区2区3区| 国产精品乱码一区二三区小蝌蚪| 欧美日韩电影一区| 国产suv一区二区三区88区| 一区二区不卡在线播放 | 韩国av一区二区三区四区| 国产精品免费丝袜| 日韩女优视频免费观看| 欧美色综合网站| 91视频国产资源| 成人自拍视频在线观看| 老司机精品视频导航| 亚洲国产精品麻豆| 亚洲精品久久7777| 日韩码欧中文字| 中文字幕一区二区三中文字幕| 久久综合九色欧美综合狠狠| 日韩精品一区二区三区在线播放| 欧美视频精品在线观看| 色狠狠一区二区三区香蕉| 不卡av在线网| 色综合久久久网| 91视频在线观看| 色综合久久久久网| 91碰在线视频| 在线亚洲免费视频| 欧美亚洲精品一区| 精品视频1区2区| 91精品国产欧美一区二区成人| 欧美日韩高清在线| 91精品国产品国语在线不卡| 欧美一区二区视频在线观看| 欧美一区二区黄色| 精品国产一区二区三区四区四 | 捆绑调教一区二区三区| 免费一级片91| 国产综合色在线| 成人午夜视频免费看| 成人免费观看视频| 色综合色狠狠综合色| 欧美在线观看视频在线| 欧美日韩亚洲丝袜制服| 日韩欧美中文字幕公布| 久久综合久久99| 亚洲色图欧洲色图| 亚洲成a人v欧美综合天堂| 日本午夜精品视频在线观看| 九九国产精品视频| 成人高清免费在线播放| 在线亚洲高清视频| 欧美一级黄色大片| 久久久久久久久久久久久夜| 国产精品免费视频网站| 亚洲一级在线观看| 久久国产福利国产秒拍| 高清久久久久久| 欧美色倩网站大全免费| 精品国产一区二区三区不卡 | av福利精品导航| 欧美日韩激情一区| 久久久久久久久99精品| 亚洲视频一二三| 蜜桃精品视频在线| 日韩电影在线观看一区| 欧美一级片免费看| 黄色小说综合网站| 久久99国产精品久久99| 成人一区在线看| 在线不卡一区二区| 国产农村妇女精品| 视频在线观看91| 成人高清av在线| 精品日韩成人av| 亚洲在线观看免费视频| 国产成人综合在线播放| 欧美在线你懂的| 国产精品国产三级国产有无不卡| 免费在线欧美视频| 色婷婷综合久色| 久久精品视频一区二区三区| 亚洲va韩国va欧美va| av中文字幕不卡| 精品欧美乱码久久久久久1区2区| 亚洲品质自拍视频| 国产精品一二三| 欧美一区二区三区播放老司机| 亚洲精品欧美综合四区| 粉嫩aⅴ一区二区三区四区五区| 欧美放荡的少妇| 亚洲一区二区av在线| 99精品欧美一区二区三区综合在线| 日韩精品一区二区三区在线| 亚洲成a人v欧美综合天堂下载 | 首页综合国产亚洲丝袜| av一区二区三区在线| 国产亚洲精品aa| 国产麻豆日韩欧美久久| 日韩免费电影一区| 爽好久久久欧美精品| 欧美在线观看禁18| 一区二区三区精品| 99国产精品视频免费观看| 国产精品天天摸av网| 国产伦理精品不卡| 久久久综合激的五月天| 精品亚洲国内自在自线福利| 欧美一区二区福利在线| 裸体一区二区三区| 欧美一级国产精品| 精品一区二区三区在线视频| 日韩欧美黄色影院|