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
[41310] [질문]Edit에 대한 질문 입니다.
유랑 [ke11keke] 874 읽음    2005-08-04 09:46
안녕하세요..
이곳에는 자주 와서 도움을 받는데, 글쓰기는 처음이군요..^^;
날씨가 또 무더워 지네요.. 건강 조심 하시기를..

한글과 영문입력의 차이때문에 지금 3일째 고생하고 있는 완전 초짜 입니다.
체크리스트박스 <--> 6개 에디터를 두고요,
에디터로 입력받아 체크리스트박스로 넘기는 작업입니다.
에디터는 각각 20컬럼을 가지고 있습니다.

여기서 발생하는 문제가 영문을 치다가 20컬럼이 넘어가면 다음 에디터로 잘 넘어가는데요,
한글을 치다가 20컬럼이 넘어가면 다음에디터로 안넘어 가게 됩니다.
여러 꽁수를 쓰다가 결국 여기에 이렇게 질문을 남겨 봅니다.
한가지 더 발생하는 문제가 한글 같은 경우는 다음 에디터로 넘어가면서 누른 키의 값을 잃어 버리는 것 입니다.
밑에는 제가 여태 작업해서 실패한 소스를 올립니다.

void __fastcall TfrmMain::Edit_KeyPress(TObject *Sender, char &Key)
{
int nMaxLength,ptrControl;
    nMaxLength = dynamic_cast<TEdit *>(Sender)->Text.Length();
    ptrControl = dynamic_cast<TEdit *>(Sender)->Tag;

    if ((nMaxLength >= 18)&&(dynamic_cast<TEdit *>(Sender)->Text.c_str()[nMaxLength-1] & 0x80) == 0x80)
//바로 윗부분이 문제의 부분 입니다~!!
    {
            Caption = "18";
            if(((Key == VK_RETURN)||(nMaxLength >= 18))&&(Key != VK_BACK))      

            { 
                    SelectNext(ActiveControl,true,true);    
            }
           else if((Key == VK_BACK)&&(nMaxLength==0))
           {
                  if(ptrControl)
                  {
                        SelectNext(ActiveControl, false, true);
                  }
           }
    }
    else 
    {
            Caption = "19";
            if((Key == VK_RETURN)||(nMaxLength >= 19)&&(Key != VK_BACK)) 
            {  //Goto Next
                    SelectNext(ActiveControl,true,true);   
            }
           else if((Key == VK_BACK)&&(nMaxLength==0))
           {
                  if(ptrControl)
                  {
                        SelectNext(ActiveControl, false, true);
                  }
           }
    }
}

그럼 잘 부탁드리겠습니다. (__);;

+ -

관련 글 리스트
41310 [질문]Edit에 대한 질문 입니다. 유랑 874 2005/08/04
41325     Re:[질문]Edit에 대한 질문 입니다. 유영인 Cuperido 946 2005/08/04
41330         Re:Re:[질문]그럼 방법을 다시 바꿔봐야 겠네요..ㅠ0ㅠ 유랑 749 2005/08/05
41332             Re:Re:Re:[질문]그럼 방법을 다시 바꿔봐야 겠네요..ㅠ0ㅠ 유영인 Cuperido 776 2005/08/05
41333                 Re:Re:Re:Re:[질문]그럼 방법을 다시 바꿔봐야 겠네요..ㅠ0ㅠ 유랑 745 2005/08/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.