📄 datagrid.cpp
字号:
{
long result;
InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetMarqueeStyle(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
BOOL CDataGrid::GetRecordSelectors()
{
BOOL result;
InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CDataGrid::SetRecordSelectors(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0x1a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
BOOL CDataGrid::GetRightToLeft()
{
BOOL result;
InvokeHelper(0xfffffd9d, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CDataGrid::SetRightToLeft(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0xfffffd9d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
short CDataGrid::GetRow()
{
short result;
InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
void CDataGrid::SetRow(short nNewValue)
{
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x1b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long CDataGrid::GetRowDividerStyle()
{
long result;
InvokeHelper(0x1c, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetRowDividerStyle(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0x1c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
float CDataGrid::GetRowHeight()
{
float result;
InvokeHelper(0x1d, DISPATCH_PROPERTYGET, VT_R4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetRowHeight(float newValue)
{
static BYTE parms[] =
VTS_R4;
InvokeHelper(0x1d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
newValue);
}
long CDataGrid::GetScrollBars()
{
long result;
InvokeHelper(0xfffffde9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetScrollBars(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xfffffde9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
short CDataGrid::GetSelEndCol()
{
short result;
InvokeHelper(0x1f, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSelEndCol(short nNewValue)
{
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x1f, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long CDataGrid::GetSelLength()
{
long result;
InvokeHelper(0xfffffddc, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSelLength(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xfffffddc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long CDataGrid::GetSelStart()
{
long result;
InvokeHelper(0xfffffddd, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSelStart(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xfffffddd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
short CDataGrid::GetSelStartCol()
{
short result;
InvokeHelper(0x22, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSelStartCol(short nNewValue)
{
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x22, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
CString CDataGrid::GetSelText()
{
CString result;
InvokeHelper(0xfffffdde, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSelText(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0xfffffdde, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
short CDataGrid::GetSplit()
{
short result;
InvokeHelper(0x24, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
void CDataGrid::SetSplit(short nNewValue)
{
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x24, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
BOOL CDataGrid::GetTabAcrossSplits()
{
BOOL result;
InvokeHelper(0x25, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CDataGrid::SetTabAcrossSplits(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0x25, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
long CDataGrid::GetTabAction()
{
long result;
InvokeHelper(0x26, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void CDataGrid::SetTabAction(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0x26, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
CString CDataGrid::GetText()
{
CString result;
InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CDataGrid::SetText(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
short CDataGrid::GetVisibleCols()
{
short result;
InvokeHelper(0x27, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
short CDataGrid::GetVisibleRows()
{
short result;
InvokeHelper(0x28, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
return result;
}
BOOL CDataGrid::GetWrapCellPointer()
{
BOOL result;
InvokeHelper(0x29, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CDataGrid::SetWrapCellPointer(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0x29, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
CStdDataFormatsDisp CDataGrid::GetDataFormats()
{
LPDISPATCH pDispatch;
InvokeHelper(0x2c, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
return CStdDataFormatsDisp(pDispatch);
}
CPicture CDataGrid::CaptureImage()
{
LPDISPATCH pDispatch;
InvokeHelper(0x65, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, NULL);
return CPicture(pDispatch);
}
void CDataGrid::ClearSelCols()
{
InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void CDataGrid::ClearFields()
{
InvokeHelper(0x67, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
short CDataGrid::ColContaining(float X)
{
short result;
static BYTE parms[] =
VTS_R4;
InvokeHelper(0x68, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
X);
return result;
}
CColumns CDataGrid::GetColumns()
{
LPDISPATCH pDispatch;
InvokeHelper(0x69, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
return CColumns(pDispatch);
}
VARIANT CDataGrid::GetBookmark(long RowNum)
{
VARIANT result;
static BYTE parms[] =
VTS_I4;
InvokeHelper(0x6a, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
RowNum);
return result;
}
void CDataGrid::HoldFields()
{
InvokeHelper(0x6b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void CDataGrid::ReBind()
{
InvokeHelper(0x6c, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void CDataGrid::Refresh()
{
InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
VARIANT CDataGrid::RowBookmark(short RowNum)
{
VARIANT result;
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x6d, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
RowNum);
return result;
}
short CDataGrid::RowContaining(float Y)
{
short result;
static BYTE parms[] =
VTS_R4;
InvokeHelper(0x6e, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
Y);
return result;
}
float CDataGrid::RowTop(short RowNum)
{
float result;
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x6f, DISPATCH_METHOD, VT_R4, (void*)&result, parms,
RowNum);
return result;
}
void CDataGrid::Scroll(long Cols, long Rows)
{
static BYTE parms[] =
VTS_I4 VTS_I4;
InvokeHelper(0xdc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
Cols, Rows);
}
CSelBookmarks CDataGrid::GetSelBookmarks()
{
LPDISPATCH pDispatch;
InvokeHelper(0x71, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
return CSelBookmarks(pDispatch);
}
short CDataGrid::SplitContaining(float X, float Y)
{
short result;
static BYTE parms[] =
VTS_R4 VTS_R4;
InvokeHelper(0x72, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
X, Y);
return result;
}
CSplits CDataGrid::GetSplits()
{
LPDISPATCH pDispatch;
InvokeHelper(0x73, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
return CSplits(pDispatch);
}
BOOL CDataGrid::SetGridHeadCenter()
{
float pixelsToPoint,fontHeight;
//一磅是 1/72 英寸。字体大小通常用磅来表达
pixelsToPoint=(float)(::GetDeviceCaps(GetDC()->m_hDC,LOGPIXELSY)/72);
fontHeight=pixelsToPoint*GetHeadFont().GetSize().Lo/10000;
//取得字体信息
CFont font,*pFont;
CSize spaceSize;
_TCHAR fontName[32];
_tcscpy(fontName,GetHeadFont().GetName());
COleFont oleFont=GetFont();
font.CreateFont(fontHeight,0,0,0,oleFont.GetWeight(),
oleFont.GetItalic(),oleFont.GetUnderline(),oleFont.GetStrikethrough(),
oleFont.GetCharset(),OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,DEFAULT_PITCH,fontName);
pFont=this->GetDC()->SelectObject(&font);
spaceSize=this->GetDC()->GetTextExtent(_T("A"));//SPACE"" 宽度是'A'的一半???
//得到COLUMNS
CColumns cols;
CColumn col;
COleVariant var;
var.ChangeType(VT_I2);
cols=GetColumns();
//显示表头
CString headCaption;
int i,j ,realSize,addSize;
for(i=0;i<cols.GetCount();i++)
{
var.intVal=i;
col=cols.GetItem(var);
col.SetAlignment(2);
headCaption=col.GetCaption();
headCaption.TrimLeft();
headCaption.TrimRight();
//得到真正的字符长度_T("")
for(j=0,realSize=0;j<headCaption.GetLength();j++)
{
realSize+=this->GetDC()->GetTextExtent(headCaption.GetAt(j)).cx;
}
//需要增加总字符数量
addSize=(int)(col.GetWidth() -realSize)/(spaceSize.cx*2);//???
//使之居中
for(j=0;j<addSize;j++)
{
headCaption.Insert(0,_T(" "));
}
//设置CAPTION
col.SetCaption(headCaption);
}
GetDC()->SelectObject(pFont);
pFont->Detach();
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -