現在カーソルのある位置から上方向(下方向)に編集した行があればその行にジャンプします。
まれにきかないときあり.
JumpEditLineUp? -- 上方向
JumpEditLineDown? -- 下方向
int GetTextLineNum(TX *text){ txSetUndispEx(text); txMarkNow(text); txJumpFileEnd(text); int iLineNum = (int)text->npara; txJumpMarkNow(text); txSetDispEx(text); return iLineNum; } // -------------------------------------------------------------------------- // 編集行移動 static void JumpEditLineSub(TX *text, BOOL is_up){ // -------------------------------------------------------------------------- if(text->paraatr.buff == NULL){ return; } // -------------------------------------------------------------------------- int iCurrentLine = (int)(text->npara - 1); int iLoop1; // -------------------------------------------------------------------------- txSetUndispEx(text); // -------------------------------------------------------------------------- // 上に if(is_up == TRUE){ for(iLoop1 = iCurrentLine - 1;iLoop1 >= 0;iLoop1 --){ if(text->paraatr.buff[iLoop1].fEdited){ break; } } // -------------------------------------------------------------------------- // 下に }else{ int iLineNum = GetTextLineNum(text); for(iLoop1 = iCurrentLine + 1;iLoop1 < iLineNum;iLoop1 ++){ if(text->paraatr.buff[iLoop1].fEdited){ break; } } if(iLoop1 == iLineNum){ iLoop1 = -1; } } // -------------------------------------------------------------------------- if(iLoop1 == -1){ txSetDispEx(text); }else{ txJumpNpara(text, (NPARA)(iLoop1 + 1)); txSetLyCenter(text); txSetDisp(text); } } // -------------------------------------------------------------------------- // 編集行移動 -- 上方向 void JumpEditLineUp(TX *text){ JumpEditLineSub(text, TRUE); } // -------------------------------------------------------------------------- // 編集行移動 -- 下方向 void JumpEditLineDown(TX *text){ JumpEditLineSub(text, FALSE); }
この記事は役に立ちましたか?