- CVI 정보나눔(www.cvi.kr)
- 스터디
- 개발메모
개발메모(형식에 매이지 않는 짤막한 개발 낙서)
글 수 173
테이블의 전체 셀을 스캔하며 해당 값을 얻는 콜백함수 예
int CVICALLBACK TableCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
static Point p;
static int indexRow, indexCol, hour, min, rows, columns;
switch (event)
{
case EVENT_COMMIT:
// 테이블의 Row, column의 수를 얻어옴
GetNumTableRows (panelHandle, PANEL_TABLE, &rows);
GetNumTableColumns (panelHandle, PANEL_TABLE, &columns);
for(indexRow=0;indexRow < rows;indexRow++)
{
for(indexCol=0;indexCol < columns;indexCol++)
{
switch(indexCol)
{
case 0: /// indexCol이 0인 경우, 시작시각
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(1, indexRow+1), g_KDBuffer);
sscanf(g_KDBuffer, "%d:%d", &hour, &min);
wmti[indexRow].Time_Start = KD_Calc_Stime(hour, min, 0);
break;
case 1: /// indexCol이 1인 경우, 종료시각
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(2, indexRow+1), g_KDBuffer);
sscanf(g_KDBuffer, "%d:%d", &hour, &min);
wmti[indexRow].Time_Finish = KD_Calc_Stime(hour, min, 0);
break;
case 2: /// indexCol이 2인 경우, 대분류
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(3, indexRow+1), wmti[indexRow].ClassL);
break;
case 3: /// indexCol이 3인 경우, 중분류
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(4, indexRow+1), wmti[indexRow].ClassM);
break;
case 4: /// indexCol이 4인 경우, 제목
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(5, indexRow+1), wmti[indexRow].Title);
break;
}
}
}
break;
}
return 0;
}
int CVICALLBACK TableCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
static Point p;
static int indexRow, indexCol, hour, min, rows, columns;
switch (event)
{
case EVENT_COMMIT:
// 테이블의 Row, column의 수를 얻어옴
GetNumTableRows (panelHandle, PANEL_TABLE, &rows);
GetNumTableColumns (panelHandle, PANEL_TABLE, &columns);
for(indexRow=0;indexRow < rows;indexRow++)
{
for(indexCol=0;indexCol < columns;indexCol++)
{
switch(indexCol)
{
case 0: /// indexCol이 0인 경우, 시작시각
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(1, indexRow+1), g_KDBuffer);
sscanf(g_KDBuffer, "%d:%d", &hour, &min);
wmti[indexRow].Time_Start = KD_Calc_Stime(hour, min, 0);
break;
case 1: /// indexCol이 1인 경우, 종료시각
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(2, indexRow+1), g_KDBuffer);
sscanf(g_KDBuffer, "%d:%d", &hour, &min);
wmti[indexRow].Time_Finish = KD_Calc_Stime(hour, min, 0);
break;
case 2: /// indexCol이 2인 경우, 대분류
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(3, indexRow+1), wmti[indexRow].ClassL);
break;
case 3: /// indexCol이 3인 경우, 중분류
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(4, indexRow+1), wmti[indexRow].ClassM);
break;
case 4: /// indexCol이 4인 경우, 제목
GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(5, indexRow+1), wmti[indexRow].Title);
break;
}
}
}
break;
}
return 0;
}