📄 uiassigncontent.cpp
字号:
#include "UIAssignContent.h"
#include "UI_Field.h"
#include "UI_Table.h"
#include "UI_Scrollbar.h"
#include "UI_String.h"
enum {
ID_PGD_CONTENT_BASE = ID_XXX_BASE + 750,
ID_TABLE = ID_PGD_CONTENT_BASE + 1,
ID_SCROLLBAR = ID_TABLE + 1,
NUM_TABLE_ROWS = AssignContent::NUM_SUBCONTENT,
ID_COLUMN0_OBJECT0 = ID_SCROLLBAR + 1,
ID_COLUMN1_OBJECT0 = ID_COLUMN0_OBJECT0 + NUM_TABLE_ROWS,
COLUMN0_WIDTH = 54,
COLUMN1_WIDTH = 93,
};
const struct
{
CHAR *Title;
}RowInfo[NUM_TABLE_ROWS] =
{
{"故障号码"},
{"流水号"},
{"用户姓名"},
{"用户地址"},
{"申告时间"},
{"受理故障"},
{"交换机\r设备号 "},
{"横列号"},
{"测量故障\r时间"},
{"测量故障"},
{"中继载波"},
{"联系电话"},
{"地址"},
{"主叫"},
{"主干"},
{"2交"},
{"配线"},
{"分线"},
{"备注"},
};
//##ModelId=3D65EBBB0262
UIAssignContent::UIAssignContent()
:m_iTopRow(0)
{
memset(&m_Content, 0, AssignContent::CONTENT_LEN);
}
void UIAssignContent::SetContent(AssignContent *pContent)
{
m_Content = *pContent;
}
//##ModelId=3D6D64050233
void UIAssignContent::Show()
{
TableUpdateTable(ID_TABLE, m_iTopRow);
ScrollbarDrawScrollbar(ID_SCROLLBAR);
}
//##ModelId=3D65E0D902E8
BOOLEAN UIAssignContent::HandleEvent(EvtType* pEvent)
{
switch (pEvent->eventType)
{
case EVT_SCROLLBAR_REPEAT:
ScrollbarDrawScrollbar (ID_SCROLLBAR);
return TRUE;
case EVT_SCROLLBAR_SELECT:
m_iTopRow = (USHORT)pEvent->para2;
TableUpdateTable(ID_TABLE, m_iTopRow);
return TRUE;
default:
return FALSE;
break;
}
return FALSE;
}
//##ModelId=3D65E0CC0325
Err UIAssignContent::Initialize()
{
//create table
UI_TableInit(ID_TABLE,
2, SECTIONUP_HEIGHT+3,//X,Y
160-SECTIONUP_HEIGHT-SECTIONDOWN_HEIGHT-15-5-3-3, COLUMN0_WIDTH+COLUMN1_WIDTH+1,//h,w
2, 19,//columns, rows
PDAXWT_FORM);
TableSetColumnWidth(ID_TABLE, 0, COLUMN0_WIDTH);
TableSetColumnWidth(ID_TABLE, 1, COLUMN1_WIDTH);
TableSetAttributes(ID_TABLE, TRUE, FALSE, TRUE, TRUE, TRUE);
//create srcollbar
UI_ScrollBarInit(ID_SCROLLBAR,
151, SECTIONUP_HEIGHT+3,//x,y
160-SECTIONUP_HEIGHT-SECTIONDOWN_HEIGHT-15-5-3-3,//height
PDAXWT_FORM);
ScrollbarSetScrollbar(ID_SCROLLBAR,
0,//value
NUM_TABLE_ROWS-2,0,//max, min value
2, NUM_TABLE_ROWS);//page_size, total_num_lines
ScrollbarSetScrollbarDrawPagesize(ID_SCROLLBAR, 2);
ScrollbarSetScrollbarVisible(ID_SCROLLBAR, TRUE);
CHAR ContentText[AssignContent::CONTENT_LEN];
WORD FieldNumLines;
for (SHORT row = 0; row < NUM_TABLE_ROWS; row++)
{
//the left column
ObjectBounds FieldBounds1 = {0, 0, COLUMN0_WIDTH, 13};
UI_FieldInit(ID_COLUMN0_OBJECT0 + row,
FieldBounds1.xcoord, FieldBounds1.ycoord,//x,y
FieldBounds1.height,FieldBounds1.width,//ObjHeight, ObjWidth,//height, width
strlen(RowInfo[row].Title),//char num
(BYTE*)RowInfo[row].Title,//text
PDAXWT_FORM);
//recalculate field height
FieldGetTotalNumOfLines(ID_COLUMN0_OBJECT0 + row, &FieldNumLines);
FieldBounds1.height = (SHORT)(13 * FieldNumLines);
FieldSetBounds(ID_COLUMN0_OBJECT0 + row, FieldBounds1);
UI_FieldSetNoLine(ID_COLUMN0_OBJECT0 + row);
UI_FieldSet(ID_COLUMN0_OBJECT0 + row, FALSE, FALSE, TRUE, FALSE);
TableSetItemType(ID_TABLE, row, 0, TABLE_UI_OBJECT);
UI_TableSetItemId(ID_TABLE, row, 0, ID_COLUMN0_OBJECT0 + row);
//the right column
//get the text first
m_Content.GetSubContent(row, (CHAR*)ContentText);
ObjectBounds FieldBounds2 = {0, 0, COLUMN1_WIDTH, 13};
UI_FieldInit(ID_COLUMN1_OBJECT0 + row,
FieldBounds2.xcoord, FieldBounds2.ycoord,//x,y
FieldBounds2.height,FieldBounds2.width,//ObjHeight, ObjWidth,//height, width
strlen(ContentText),//char num
(BYTE*)ContentText,//text
PDAXWT_FORM);
//recalculate field height
FieldGetTotalNumOfLines(ID_COLUMN1_OBJECT0 + row, &FieldNumLines);
FieldBounds2.height = (SHORT)(13 * FieldNumLines);
FieldSetBounds(ID_COLUMN1_OBJECT0 + row, FieldBounds2);
UI_FieldSet(ID_COLUMN1_OBJECT0 + row, FALSE, FALSE, TRUE, FALSE);
TableSetItemType(ID_TABLE, row, 1, TABLE_UI_OBJECT);
UI_TableSetItemId(ID_TABLE, row, 1, ID_COLUMN1_OBJECT0 + row);
//set row height
TableSetRowHeight(ID_TABLE, row,
(FieldBounds1.height > FieldBounds2.height) ? FieldBounds1.height+1 : FieldBounds2.height+1);
}
return SUC;
}
//##ModelId=3D65EBD00294
Err UIAssignContent::DestroyWindow()
{
BYTE bType;
void *pobj;
SHORT row;
for (row = 0; row < NUM_TABLE_ROWS; row++)
{
UI_FormDeleteObject(ID_COLUMN0_OBJECT0 + row, PDAXWT_FORM);
}
for (row = 0; row < NUM_TABLE_ROWS; row++)
{
UI_FormDeleteObject(ID_COLUMN1_OBJECT0 + row, PDAXWT_FORM);
}
UI_FormDeleteObject(ID_TABLE, PDAXWT_FORM);
UI_FormDeleteObject(ID_SCROLLBAR, PDAXWT_FORM);
return SUC;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -