개발메모(형식에 매이지 않는 짤막한 개발 낙서)

테이블의 셀에 이미지를 표시하는 과정 요약

조회 수 3339 추천 수 0 2007.09.01 11:02:42
허창원 *.97.72.95
<CVI>/samples/userint/colview.prj 에서 추출함

1. 사용할 이미지를 등록
    예)
    static int g_hcheckBmp = 0;
    static int g_hxBmp = 0;


    /* Load our result images */
    if (GetBitmapFromFile ("check.ico", &g_hcheckBmp)
        || GetBitmapFromFile ("x.ico", &g_hxBmp))
        {
        goto Error;
        }

2. SetTableCellVal() 함수로 해당 셀에 표시
   SetTableCellAttribute()
    예)
    SetTableCellVal (panel, control, MakePoint (4, testNum),
                     (pass) ? g_hcheckBmp : g_hxBmp);
    SetTableCellAttribute (panel, control, MakePoint (4, testNum), ATTR_CTRL_VAL,
                     (pass) ? g_hcheckBmp : g_hxBmp);

3. 이미지를 제거(프로그램 종료시에... 안해도 상관없음)
   DiscardBitmap( g_hcheckBmp );
   DiscardBitmap( g_hxBmp );


해달 셀을 클릭했을 때, 이미지를 바꾸어주는 것은
클릭된 셀의 위치를 찾아내어 해당셀의 이미지를 바꾸어주면 되겠지요....

예) Table Callback 에서

int CVICALLBACK TableReadyCB (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
{
    static Point cell;
    static int val;
    static int ch, ItemIndex, index;
    static Point p;
    static int indexRow, indexCol, hour, min, rows, columns;

    switch (event)
        {
        case EVENT_LEFT_CLICK:
        case EVENT_LEFT_DOUBLE_CLICK:
            {
                // 현재 Row의 특정 Column(여기서는 1)을 클릭 혹은 더블클릭 했을 때, Select/Unselect를 반전함.
                
                GetTableCellFromPoint (panel, control, MakePoint(eventData2, eventData1), &cell);
              
                // 현재 x(Column)이 첫번째(Picture 셀)이라면, Y(Row)에 대해 체크를 반전함
                if(cell.x == 1)
                {
                    //GetTableCellVal (panel, control, MakePoint(9, cell.y), &val);
              
                    //if(val) /// 선택 상태였다면... unselect
                    if(musicalarm_data.musicalarmti[cell.y-1].check)    /// 선택 상태였다면... unselect
                    {
                        musicalarm_data.musicalarmti[cell.y-1].check = 0;
                        //SetTableCellVal (panel, control, MakePoint (cell.x, cell.y), BmpUnselect );
                        //SetTableCellVal (panel, control, MakePoint (9, cell.y), 0 );
                        SetTableCellAttribute (panel, control, MakePoint (cell.x, cell.y), ATTR_CTRL_VAL, BmpUnselect );
                    }
                    else    /// unselect 상태였다면, ... select
                    {
                        musicalarm_data.musicalarmti[cell.y-1].check = 1;
                        //SetTableCellVal (panel, control, MakePoint (cell.x, cell.y), BmpSelect );
                        //SetTableCellVal (panel, control, MakePoint (9, cell.y), 1 );
                        SetTableCellAttribute (panel, control, MakePoint (cell.x, cell.y), ATTR_CTRL_VAL, BmpSelect );
                    }
                    
                    // 데이터의 수정이 이루어짐
                    //musicalarm_ini_setting.flag_FileChanged = 1;
                    // 파일 수정됨
                    musicalarm_data.flag_FileChanged = 1;
                }
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
113 DAQmx 장치의 Device Serial Number 얻어오기 허창원 2006-12-18 3480
112 32비트 환경에서 시간함수의 표현가능 년도는 대략 2036~2038년까지 허창원 2005-04-13 3453
111 windef.h 파일에 선언된 내용 일부 허창원 2005-09-29 3440
110 [메모] Dev1/ai0:8 이런 문자열에서 채널수를 뽑아내는 처리 허창원 2008-08-03 3397
109 자주 쓰는 타이머(Timer) 컨트롤 Setting 문장 허창원 2005-01-29 3389
108 [Doc] Accessing Parallel Ports with VISA 허창원 2007-06-15 3381
107 구간을 Linear/Log scale로 등분하고자 할 때 허창원 2005-12-27 3357
106 TCP 연결이 되었다가 바로 끊어질 때 file 허창원 2008-07-05 3346
105 현재 날짜,시간 정보를 이용한 기본 데이터 파일명 구성하기 허창원 2004-12-30 3346
104 Password 컨트롤 사용법 메모 허창원 2005-08-30 3345
103 테이블의 전체 셀을 스캔하며 해당 값을 얻는 콜백함수 예 허창원 2004-12-29 3343
» 테이블의 셀에 이미지를 표시하는 과정 요약 허창원 2007-09-01 3339
101 Reading/Writing .ini-Style files Help 허창원 2005-01-26 3317
100 Cannot find icon file. 이라는 에러메시지 허창원 2005-07-23 3315
99 프로그램 종료시에 파일 저장여부, 종료여부 물어보는 예 허창원 2004-12-30 3307
98 Noisy Sine Wave 데이터 만들기 허창원 2005-11-24 3298
97 클립보드에 문자열 복사하기/가져오기 허창원 2006-01-09 3295
96 테이블 콜백의 간단한 예 허창원 2004-12-29 3290
95 수신된 문자열을 16진수로 스트링 컨트롤에 출력하는 예 허창원 2005-01-11 3289
94 Thread 사용 순서 간단 요약 허창원 2012-11-22 3288