반응형
아두이노 + 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;
반응형