C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9765] [답변] 이렇게 하면 되나요?
kark .김성진 [] 1046 읽음    2001-08-10 15:47
좀전에 메일 확인하니..다시 리플이 있어서 답변을 올립니다.

이래저래 답변이 길어졌네요...이제 마무리 지어야죠? ^^

//---------------------------------------------------------------------------

void __fastcall TForm1::RichEdit1KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   RichEdit1->ReadOnly = true;

   if(Key < 122)   //영문인지를 검사하는부분~확실하게 할려면 자판상태를 알아내는 방법을 써야겠죠..
   {
      RichEdit1->SelStart = RichEdit1->SelStart?RichEdit1->SelStart-1:0;
      RichEdit1->SelLength = 1;

      ComboBox1->Text = RichEdit1->SelText;
      RichEdit1->SelText = "";
      ComboBox1->SetFocus();
      ComboBox1->SelLength = 0;
      ComboBox1->SelStart = 1;
    }

    RichEdit1->ReadOnly = true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::RichEdit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if(Key > 122)
   {
      SendMessage(Form1->Handle, WM_KEYDOWN, Key, 0);
      ComboBox1->SetFocus();
   }

   RichEdit1->ReadOnly = false;
}

//---------------------------------------------------------------------------
// 이부분은 적당히 적용하시면 될 겁니다.
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
   RichEdit1->Clear();
}
//---------------------------------------------------------------------------

일단은 깔끔하진 않지만 원하는 방식으로 돌아갈거라 생각합니다.

개인적으로는 방식을 조금만 다르게 하면 쉽게 해결될 수 있는 문제라고 생각됩니다만,

Jun님이 원하는 부분이 이렇게라도 풀렸으면 하는 바램입니다.


Jun 님이 쓰신 글 :
: 아래에도 비슷한 내용의 질문을 올렸엇는데요...
: 잘 안되네요....
: 일단 combobox하나가 있구요... richedit가 있을 때 richedit에서 문자를 입력하면 바로 combobox로 가서 입력되도록 하려고 합니다...
: 지금은 sendmessage를 이용해서 보내고 있는데요...
: combobox에 setfocus를 주는 방식으로 구현을 했는데요...
: 영문은 제대로 잘 가는데 한글은 '가'라고 쳤을 경우 기역은 안 가고 'ㅏ'부터 찍힙니다...
:
: 물론 영문과 한글은 구별해서 따로 메세지 처리를 해주어야 할 것 같은데요...
: 한글의 첫 글자를 보내고 조합이 되도록 하려면 어떻게 해야 할 지 모르겠네요...
: tip내용을 보고 적용을 해봐도 안되는 것 같구요...
: onkeydown이벤트해서 처리해주었습니다...
:
: 답변 부탁드릴께요...

+ -

관련 글 리스트
9726 [질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... Jun 1176 2001/08/09
9765     [답변] 이렇게 하면 되나요? kark .김성진 1046 2001/08/10
9729     Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... kark .김성진 927 2001/08/09
9731         Re:Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... Jun 956 2001/08/09
9740             Re:Re:Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요...(수정) kark .김성진 941 2001/08/09
9741                 Re:Re:Re:Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... Jun 880 2001/08/09
9744                     Re:Re:Re:Re:Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... kark .김성진 849 2001/08/09
9752                         Re:Re:Re:Re:Re:Re:[질문] key값을 캡쳐비슷하게 받는 방법이 없을까요... Jun 924 2001/08/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.