자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------

델파이 7에  윈도우7을 사용중인 초보자입니다.

 

델파이7에  Win32에보면  TComboBoxEX 라는 컴포넌트가 있는데

 

이 컴퍼넌트의 자동완성기능 (AutoCompleteOptions) 의 버그에 대한 문의입니다.

 

AutoCompleteOptions 속성의

-acoAutoSuggest

-acoAutoAppend

-acoSearch

-acoFilterPrefixes

-acoUseTab

-acoUpDownKeyDropsList

-acoRtReading   옵션들은 모두 True로 주었스빈다.

 

제 DB에 있는 테이블의  모든 칼럼데이터들을  아이템으로 넣어준뒤

 

자동완성기능을 테스트해보면

영어는 잘되지만

한글의 경우는 버그가 있습니다.

 

첫째로   ComboboxEx  Text창에   현대 를 입력하면

 

'현' 까지밖에인식을 못합니다.   현대  에서 대 부분에 포커스가 가 있지만  아직 완성된건지 아닌지를 파악을 못하니

 

아이템리스트에  현으로 시작하는 모든 데이터를 보여주고있네요.

 

원래라면  현대  로 시작하는 자료를 보여주어야 하는데 말이죠.

 

 

이런 버그를 해결하기위해  인터넷에서 구한 한글자동완성 소스를 추가해주었습니다..

private FlastKey: integer;

 

 

procedure TForm1.ComboBoxEx1Change(Sender: TObject);
var
  i: integer;
begin
  if (FLastKey <> -1) AND (FLastKey <> VK_BACK) then
  begin
    i := (Sender as TComboboxEx).Perform(
      CB_FINDSTRING, -1, LongInt(PChar((Sender as TComboboxEx).Text)));
    if i <> -1 then
      PostKeyEx32(VK_PROCESSKEY, [], False);
  end;
  FLastKey := 0;
end;

 

--------------------------------------------------------------------------------

procedure TForm1.PostKeyEx32(key: Word; const shift: TShiftState;
  specialkey: Boolean);
type
  TShiftKeyInfo = record
    shift: Byte;
    vkey: Byte;
  end;
  byteset = set of 0..7;
const
  shiftkeys: array [1..3] of TShiftKeyInfo =
    ((shift: Ord(ssCtrl); vkey: VK_CONTROL),
    (shift: Ord(ssShift); vkey: VK_SHIFT),
    (shift: Ord(ssAlt); vkey: VK_MENU));
var
  flag: DWORD;
  bShift: ByteSet absolute shift;
  i: Integer;
begin
  for i := 1 to 3 do
  begin
    if shiftkeys[i].shift in bShift then
      keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
  end; { end for }
  if specialkey then
    flag := KEYEVENTF_EXTENDEDKEY
  else
    flag := 0;

  keybd_event(key, MapvirtualKey(key, 0), flag, 0);
  flag := flag or KEYEVENTF_KEYUP;
  keybd_event(key, MapvirtualKey(key, 0), flag, 0);

  for i := 3 downto 1 do
  begin
    if shiftkeys[i].shift in bShift then
      keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0),
        KEYEVENTF_KEYUP, 0);
  end; { end for }
end;

-------------------------------------------------------------------

procedure TForm1.FormCreate(Sender: TObject);
begin
     FLastKey := -1;

end;

 

이건 TCombobox의  한글자동완성이 제대로 동작하게 해주는 소스인데

 

Tcomboboxex에 사용하니  다른문제가 생겼습니다.

 

한글이 쪼개지는 현상입니다,

 

현대건설을 입력하면

 

'ㅎㅕㄴㄷㅐㄱㅓㅅㅓㄹ'  이렇게됩니다.

 

몇일재 아무리 헤매봐도 해결이 안되는 문제인데

 

ㅇ아시는 방법이 있다면 답변좀 부탁드리겠습니다. 감사합니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 19788
공지 유용한 관련 사이트 관리자2 2014.03.20 58726
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102304
1239 MultiView 추가시 RAD Studio 다운 문제 [1] newbe 2015.03.06 582
1238 [공유] 써드파티 라이브러리 연동이 가능한가요? Humphery 2015.03.19 584
1237 C# DLL 함수정의를 델파이에서 어떻게 하나요? [1] madoka 2020.07.24 584
1236 Run(F9) 실행시 XE10 툴이 메인모니터 쪽으로 이동하는 현상 [3] 지오 2015.12.24 585
» TComboBoxEX 의 한글 자동완성 버그 문의 델펀맨 2016.10.31 586
1234 아이폰 개발(환경) [2] 가을이다 2015.09.03 587
1233 델파이로 만든 DLL 내부에 FireDAC 콤퍼넌트의 동작 [2] 막스뮐러 2019.08.08 587
1232 xe7 professional firebird dbexpress 사용? [1] 수인아빠 2015.03.03 587
1231 10.2 에서 안드 빌드시 [ldandroid Error] "ld" exited with code 1. 에러문제 [1] 크루세더 2017.04.29 588
1230 Cannot Deploy an Application for Android 라고 에러메시지가 뜹니다. [3] file 델러브 2015.04.15 590
1229 [마이그레이션 세미나] 보안모듈로 암호화 하는 내용이 궁금합니다. 험프리 2015.11.24 590
1228 restrequest, restclient를 이용한 fcm notification 보내기 [1] 슈퍼맨 2017.09.28 592
1227 애플 앱 ipa파일을 impactor로 설치시 발생한 에라. [1] file 화이부동 2017.11.22 592
1226 윈도우10 PRO에서 DBGrid 한글 깨짐이 발생합니다. [1] file LSM 2018.05.09 592
1225 아랍어 등 오른쪽에서 왼쪽으로 커서가 움직이려면 어떻게 하나요? [1] Humphery 2015.03.03 593
1224 [개발생산성향상 세미나] Quick Edit에서 복사하기 붙여넣기 단축키가 먹지 않습니다. 험프리 2017.02.22 593
1223 VCL Or FMX 컨포넌트중 HTML 에디터 컴포넌트가 있나요? [1] 황규섭 2016.07.22 594
1222 delphi XE7 - oracle 11g 연동이 안됩니다.. [1] file 유죵 2017.09.29 594
1221 EListError with message "Duplicates not allowed" [3] file 화이부동 2016.09.21 597
1220 델파이 TMemoryStream.Create 에러 [1] 스카이 2017.11.17 597