반응형

아두이노 + OLED

 

목록을 만들고 선택할 수 있는 메뉴 시스템

 

화면의 마지막 목록에서 스크롤을 내리면 전체 목록이 위로 1줄씩 올라간다.

다시 화면의 처음 목록에서 스크롤을 올리면 전체 목록이 아래로 1줄씩 내려간다.

 

 

 

코드 일부

case 90:
    if (iMenuSelectedID > 3 + iScroll) {
    	iScroll = iMenuSelectedID - 3;
    }
    if (iMenuSelectedID < iScroll) {
    	iScroll = iMenuSelectedID;
    }
    YPos[0] = (iMenuSelectedID - iScroll) * 16;
    YPos[1] = 16;
    u8g2.drawBox(0, YPos[0], 127, YPos[1]);
    for (i = iScroll; i < iMenuIDList; i++) {
        if (iMenuSelectedID == i) {
            u8g2.setFontMode(0);
            u8g2.setDrawColor(0);
        } else {
            u8g2.setFontMode(0);
            u8g2.setDrawColor(1);
        }
        u8g2.setFont(u8g2_font_7x13_t_symbols);
        u8g2.setFontRefHeightAll();
        u8g2.setFontPosTop();
        u8g2.drawStr(0, (i - iScroll) * 16, sMenuList[i].c_str());
    }
break;

 

반응형

관련글