C++ Builder XE4, 10.2 Tokyo > TMemo > 지정된 행이 보이도록 행 이동

운영 환경
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/28)

TMemo에서 지정된 행으로 이동하고 싶습니다.
델파이 구현이 발견되었습니다.


Expert Commentby:DMN
ID: 5989403·2001-04-05
Another one: works for TMemo, TRichEdit and any other TCustomEdit >descendant...

procedure GotoLineNo(Control:TCustomEdit;LineNo:integer);
begin
Control.SelStart := Control.Perform(EM_LINEINDEX,LineNo,0);
Control.Perform(EM_SCROLLCARET,0,0);
end;

Enjoy! :)

C++ Builder 구현으로 했다.

Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int moveTo = 10; // 移動先のインデックス (0始まり)

    Memo1->SelStart = Memo1->Perform(EM_LINEINDEX, moveTo, 0);
    Memo1->Perform(EM_SCROLLCARET,0,0);
}

아래에서 스크롤이있는 TMemo는 Memo1이라는 이름 속성입니다.

Memo1의 Lines는 다음과 같이 보았다.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

실행 절차 1


  • '15'가 보이는 곳으로 스크롤
  • Button1을 누르십시오

  • 이상에 의해 「10」이 보이는 행으로 이동한다.



    실행 절차 2



    「0」이 보이는 행으로 이동하고 나서 Button1을 누른 경우는 이하가 된다.



    즉, 예에서는 「10이 보이도록 이동한다」뿐이며, 「10이라는 행이 맨 위에 오도록 이동한다」는 아니다.

    좋은 웹페이지 즐겨찾기