일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 빅 데이타
- 빅 데이터
- 김양재 목사
- 우리들교회
- nodeJS
- 빅데이타
- probability
- openCV
- 김양재 목사님
- 주일설교
- Statistics
- 딥러닝
- WebGL
- node.js
- 확률
- 데이터 과학
- c++
- data science
- Artificial Intelligence
- 빅데이터
- 인공지능
- R
- No SQL
- Machine Learning
- 몽고디비
- Deep learning
- 통계
- 김양재
- Big Data
- MongoDB
- Today
- Total
Scientific Computing & Data Science
[C/C++] MFC / Edit Control Cursor 본문
1. 커서를 맨 끝에
SetSel(-1, -1);
2. 커서를 임의의 위치에
SetSel(n, n);
[1. 응용할 멤버 함수]
에디트 박스의 멤버 함수중에서 커서를 임의의 위치에 놓을 처리를 하는 함수는 SetSel( ... ) 과 ReplaceSel( ... ) 입니다.
ex) 에디트 박스의 멤버 변수를 다음과 같이 정의된 상태에서 예를 들어 가면서 설명을 드립니다.
CEdit m_editMyBox;
CString m_strMyBox;
[2. 커서를 맨 뒤쪽에 놓기]
커서를 맨 뒤쪽에 놓는 방법은 의외로 간단 합니다.
UpdateData( TRUE );
//전체를 선택
m_editMyBox.SetSel( 0, -1 );
//현재의 데이터로 다시 치환
m_editMyBox.ReplaceSel( m_strMyBox );
//포커스를 에디트 박스로 설정
m_editMyBox.SetFocus();
이렇게 처리하시면 커서가 데이터의 제일 끝에 놓일 겁니다.
[3. 커서를 임의의 자리에 놓기]
방법은 마찬가지로 SetSel(..)과 ReplaceSel(...)을 이용하는 것인데, 어떤 형태로 응용할 수 있냐 하면
SetSel( 시작 위치, 끝 위치, ..?? 안살펴 봤음..세번째 인자)
에서 보면, 시작 위치를 처음(0)으로 하고 끝 위치를 커서가 놓이고자 하는 위치로 지정한 후에, 현재의 데이터를 처음부터 커서가 놓이고자 하는 위치까지 다른 버퍼에 복사한 후에, ReplaceSel로 복사 합니다.
소스 코드를 보시면 더 쉬우실 겁니다.
UpdateData( TRUE );
// 커서가 놓일 위치까지 복사할 임시 버퍼(크기는??)
char cDataBuf[100];
// 쓰레기 값을 방지하기 위해.. 초기화
for( int i=0; i<100; i++ ) cDataBuf[i] = NULL;
//--- 6번째에 커서를 위치하고 싶을 경우...
for( i=0; i<6; i++ )
cDataBuf[i] = m_strMyBox[i];
[보충 설명: CString 형의 데이터의 경우]
데이터를 원할때는 버퍼 형태로 사용을 하셔도 됩니다.
무슨 말이냐 하면 제가 CString 형으로 선언된 멤버 변수 m_strMyBox의 데이터를 임시 버퍼에 복사하는 과정에서 m_strMyBox[i]라고 사용을 했는데, m_strMyBox는 에디트 박스의 멤버 변수이거든요.
위와 같은 방법을 복사를 하셔도 되고 다른 방법도 있겠죠.
//--> 원하는 위치만큼 지정
m_editTest.SetSel( 0, 6 );
//--> 바꾸면 되겠죠.. 복사된 내용으로..
m_editTest.ReplaceSel( cDataBuf );
//--> 포커스를 놓으면.. 끝..
m_editTest.SetFocus();
'Programming > C&C++' 카테고리의 다른 글
[C/C++] MFC / XML Parsing Using Boost (0) | 2014.09.01 |
---|---|
[C/C++] MFC / CString과 std::string 타입 변환 (0) | 2014.09.01 |
[C/C++] MFC / CString의 한글/영문/숫자 구별하기 (1) | 2014.07.25 |
[C/C++] MFC / Edit Control에서 알파벳과 숫자만 허용하기 (1) | 2014.07.10 |
[C/C++] MFC / Edit Control 박스 입력된 글자수 검출하기 (0) | 2014.07.07 |