📄 dbview.cpp
字号:
// DbView.cpp : implementation file
//
#include "stdafx.h"
#include "Database.h"
#include "DbView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDbView
IMPLEMENT_DYNCREATE(CDbView, CListView)
CDbView::CDbView()
{
}
CDbView::~CDbView()
{
}
BEGIN_MESSAGE_MAP(CDbView, CListView)
//{{AFX_MSG_MAP(CDbView)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDbView drawing
void CDbView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CDbView diagnostics
#ifdef _DEBUG
void CDbView::AssertValid() const
{
CListView::AssertValid();
}
void CDbView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDbView message handlers
void CDbView::DrawRelationship(Relationship *R)
{
CDatabaseDoc *pDoc=(CDatabaseDoc *)GetDocument();
CListCtrl &List=GetListCtrl();
while(List.DeleteColumn(0));
List.InsertColumn(0,"Name",LVCFMT_CENTER,80);
List.InsertColumn(1,"Type",LVCFMT_CENTER,80);
List.InsertColumn(2,"Length",LVCFMT_CENTER,20);
List.InsertColumn(3,"PK",LVCFMT_CENTER,20);
List.InsertColumn(4,"Unique",LVCFMT_CENTER,20);
List.InsertColumn(5,"NULL",LVCFMT_CENTER,20);
List.InsertColumn(6,"Ref Relation",LVCFMT_CENTER,100);
List.InsertColumn(7,"Ref Attribute",LVCFMT_CENTER,200);
CString s("");
const char *type[6]={"int","float","char","varchar","time","date"};
const char *bl[2]={"No","Yes"};
for(WORD i=1;i<=R->attr_num;i++)
{
s.Format("%d",i-1);
List.InsertItem(i-1,s);
List.SetItemText(i-1,0,R->at[i].name);
List.SetItemText(i-1,1,type[R->at[i].type]);
s.Format("%d",R->at[i].length);
List.SetItemText(i-1,2,s);
List.SetItemText(i-1,3,bl[R->at[i].ispk]);
List.SetItemText(i-1,4,bl[R->at[i].unq]);
List.SetItemText(i-1,5,bl[R->at[i].can_null]);
if(R->at[i].rf_relationship==0)
{
List.SetItemText(i-1,6,"NULL");
List.SetItemText(i-1,7,"NULL");
}
else
{
Relationship *refr=pDoc->GetRelation(R->at[i].rf_relationship);
if(refr)
{
List.SetItemText(i-1,6,LPCTSTR(refr->name));
List.SetItemText(i-1,7,LPCTSTR(refr->at[R->at[i].rf_Attribute].name));
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -