|
제 스스로가 엄청난 허접이라서 딱히 이거다! 할 답변은 힘들겠지만, 직접 돌려본 결과로는 DBMemo는 Focus를 얻는 순간에 DataSource의 DataField와 접속을 시도하는게 아닌가 싶습니다.
아마도 메세지를 주셨다면 이쪽은 비워두셨을테고. 이 경우에는 접속할 곳이 없으니 반환값도 없고. 그러니 자연스레 지워지는 것 같네요.
가장 속편한 방법이야 그냥 Memo를 쓰시는 거고(만약에 DBMemo의 몇몇 기능이 필요하시다면 Memo를 받아서 몇가지 기능을 추가해서 쓰시라고 밖엔;;;)만약. 꼭 DBMemo를 쓰써야 하는 상태라면..
1. 따로 정적변수를 선언해서 메세지를 집어넣어둔 다음에 DBMemo의 OnClick혹은 OnEnter때 정적변수의 내용을 다시 DBMemo에 뿌리는 방법(만약 OnClick에다 집어넣으시면 Tab키를 사용해서 '우연찮게' DBMemo가 날아가게 될듯합니다.)입니다. 메시지별로 구별이 되어야 하고.. 뭐 이리저리 기능을 추가하시려면 정적변수가 아니라 정적배열을 사용하시는게 속편할 테고(배열의 크기는 동적으로 지정해주시는게 좋죠 =_=...) 뭐 이리저리 조금만 머리를 쓰면 그닥 어렵진 않습니다.
다만. 굳이 이렇게 해야 할 이유를 잘 모르겠네요.
2. 내용을 추가하지 않아도 된다면... 그냥 Enable시키시면 됩니다. 그런데 1번 방법을 사용해도 어차피 내용이 날아가게 되어 있기 때문에... 이러나저러나 내용추가가 불가능하군요..;;;
3. .... DBMemo를 오버라이드해버리시면 됩니다.(....)
p.s. 다시 확인해본 결과. DBMemo는 원래 글씨를 쓸수가 없군요. =_=;;;;
p.s2. C/C++에는 동적배열이 없었군요;;(원래 델파이 하다가 그 느낌 그대로 빌더를 손대는 중입니다;)
일단 저는 시험삼아서 크기 100으로 잡고 해봤는데. 뭐. 필요하시다면 100을 넘어서는 양이 되면 자동으로 밀리는 형식을 사용하시거나 하면 어떨까합니다.
|