메모 컴퍼넌트에..
글을 쓸때마다...길이를 계산해서 보여주게 만들었습니다..
procedure TForm1.MsgKeyPress(Sender: TObject; var Key: Char);
begin
if Key in [#32..#127] then
begin
Msg.Text := Msg.Text + key;
Msg.SelStart := Length(Msg.Text);
Msg.SelLength := 1;
Msg_Length.Caption := inttostr(Length(Msg.Text)) + '/80';
Key := #0;
exit;
end;
end;
글을 누르면 메모에 더해지고 그때의 길이를 구해서 라벨의 캡션을 바꿔주는건데..
삭제(backspace)하고 한글 입력할때는 계산이 안되더군요.
영어는 잘되는데..
어디를 고쳐야 하는지 좀 알려주세요..
삭제는 눌러지는 키에 추가시키면 글자가 지워지는게 아니라.이상한 문자가 생기더군요..ㅠ.ㅠ
keypress 에서 길이를 구하시는거 보니 아마두 값이 없어서 그런것 같네요.
첫번째문제는 한글의 경우 ( 이건 영어권이 아닌 문자는 거의다 그렇죠 일본어나 한자나.. ) 한글을 입력받으면 실제로 들어가는게 아니거든요.
입력하신건 모양이 다르잖아요? 그러한 이유가 실제로는 IME에 있기
때문입니다.
그리고 아직 문자가 만들어진게 아니기 때문에..
Msg.Text := Msg.Text + key; 이렇게 하시면 깨지죠..
그리고
if Key in [#32..#127] then
이렇게 값을 제한하셧으니 이건 한글은 전혀 입력이 안될것 같네요..
님께서는 그냥 영어정도만 입력되게 하신겁니다.
해당 부분을 고쳐주시면 가능할 껍니다.
그럼..