控件区域:
使用效果:
代码如下:
void MyUGCtrl::OnSetup()
{
m_nButtonIndex = AddCellType(&m_button);
SetNumberCols(6);
AppendRow();
CUGCell cell;
int rows, cols;
int row = 0;
// 头部
int nHeaderRow = -1;
{
QuickSetText(0, nHeaderRow, L"Button");
QuickSetAlignment(0, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
QuickSetText(1, nHeaderRow, L"Text");
QuickSetAlignment(1, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
QuickSetText(2, nHeaderRow, L"CheckBox");
QuickSetAlignment(2, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
QuickSetText(3, nHeaderRow, L"RadioButton");
QuickSetAlignment(3, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
SetRowHeight(nHeaderRow, 80);
QuickSetText(4, nHeaderRow, L"SpinButton");
QuickSetAlignment(4, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
QuickSetText(5, nHeaderRow, L"DateTime");
QuickSetAlignment(5, nHeaderRow, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
//button
{
GetCell(0, 0, &cell);
cell.SetText(L"Button");
cell.SetCellType(m_nButtonIndex);
cell.SetCellTypeEx(UGCT_BUTTONNOFOCUS);
cell.SetAlignment(UG_ALIGNCENTER | UG_ALIGNVCENTER);
cell.SetTextColor(RGB(0, 0, 128));
cell.SetBackColor(GetSysColor(COLOR_BTNFACE));
SetCell(0, 0, &cell);
SetRowHeight(0, 60);
}
//文本
{
QuickSetText(1, 0, L"Text");
QuickSetAlignment(1, 0, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
// checkbox
{
QuickSetCellType(2, 0, UGCT_CHECKBOX);
QuickSetCellTypeEx(2, 0, UGCT_CHECKBOXCHECKMARK /*| UGCT_CHECKBOX3DRAISED | UGCT_CHECKBOX3STATE*/);
QuickSetBackColor(2, 0, GetSysColor(COLOR_BTNFACE));
QuickSetLabelText(2, 0, L"Checkbox");
QuickSetAlignment(2, 0, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
// radiobutton
m_nRadioIndex = AddCellType(&m_radio);
{
cell.ClearAll();
GetCell(3, 0, &cell);
cell.SetLabelText(L"One\nTwo\n");
cell.SetCellType(m_nRadioIndex);
SetCell(3, 0, &cell);
QuickSetAlignment(3, 0, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
// SpinButton
m_nSpinIndex = AddCellType(&m_spin);
{
cell.ClearAll();
GetCell(4, 0, &cell);
cell.SetText(L"1");
cell.SetCellType(m_nSpinIndex);
cell.SetParam(SPIN_TYPE1);
SetCell(4, 0, &cell);
QuickSetAlignment(4, 0, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
//DateTime
m_nDateTimeIndex = AddCellType(&m_dateTime);
{
cell.ClearAll();
GetCell(5, 0, &cell);
cell.SetText(COleDateTime::GetCurrentTime().Format(VAR_DATEVALUEONLY));
cell.SetCellType(m_nDateTimeIndex);
SetCell(5, 0, &cell);
QuickSetAlignment(5, 0, UG_ALIGNCENTER | UG_ALIGNVCENTER);
}
}