Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
반각모드인 경우 전각모드로 바꾸는 방법?
안녕하세요...
검색을 해 보다가 원하는 내용이 없는 것 같아 질문을 올립니다.
TEdit에서 입력받을때 전각모드에서만 입력을 받아야 하거든요..
전각인지 반각인지 체크하여
반각모드인 경우 전각모드로 바꾸려면 어떻게 해야 하는지...
아시는 분의 답변을 부탁드립니다...
1
COMMENTS
정명희
•
1999.08.03 22:05
정명희 께서 말씀하시기를...
>
> 안녕하세요...
> 검색을 해 보다가 원하는 내용이 없는 것 같아 질문을 올립니다.
>
> TEdit에서 입력받을때 전각모드에서만 입력을 받아야 하거든요..
> 전각인지 반각인지 체크하여
> 반각모드인 경우 전각모드로 바꾸려면 어떻게 해야 하는지...
> 아시는 분의 답변을 부탁드립니다...
자문자답이네요...
제가 하는 방법의 효율성이 어떨지 모르겠지만요..
먼저 TEdit의 ImeMode -> imHanguel 로 하고
TEdit의 KeyDown Event가 발생할 때 전각/반각 전환 key가 눌린 것인지
check하여 ImeMode를 다시 설정하였습니다.
현재 한/영 상태를 return해주는 IsHanState()은 통신상에서 다른 분이
올려놓으신 겁니다. 출처는 잘 모르지만 감사드립니다..
function Tform.IsHanState(paForm:TForm):boolean;
{Desc 현재 한/영 상태 Return}
var
fFlag, imeMode : DWORD;
hIMC : THandle;
begin
Result := True;
fFlag := 1;
hIMC := ImmGetContext(paForm.Handle);
if hIMC = 0 then exit;
ImmGetConversionStatus(hIMC,fFlag,imeMode);
ImmReleaseContext(paForm.Handle,hIMC);
Result := (fFlag = 1);
end;
procedure Tform.TEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
{Desc : 전각모드 유지}
var iKey : Integer; //입력된 Key
sHanState : String; //한/영 상태
sImeMode : TImeMode; //ImeMode
begin
iKey := Ord(Key);
if IsHanState(form) Then
sHanState := '한글'
else sHanState := '영문';
// 전각 / 반각 전환 key가 눌린 경우
if iKey = 23 Then Begin
if sHanState = '한글' Then
sImeMode := imHanguel
else sImeMode := imAlpha;
ImeMode := sImeMode;
SetIme;
End;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
최선기
•
1999.07.21 00:00
1
COMMENTS
/
0
LIKES
Primary key 지정은 어디에서...?
김경수
•
1999.07.21 01:14
안녕하세요.. 주키,외래키 설정은 디비마다 설정해주는 방식(? 표현력이 부족해서요..)이 조금식 다른것 ...
장일
•
1999.07.20 23:38
2
COMMENTS
/
0
LIKES
윈32 API에 대하여 알고 싶습니다.
sunhee
•
1999.07.21 21:49
아래 영대님께서 에프원책을 추천해주셨네요. 저도 보고 있는데 이번에 api 프로그램을 하면서 이 책이 ...
김영대
•
1999.07.21 00:31
장일 께서 말씀하시기를... > 누가 제가 윈32API에 대하여 설명 좀 해 주십시요. > 아니면 공부할 수 있...
델아기
•
1999.07.20 23:15
5
COMMENTS
/
0
LIKES
desktop에서 에러가 나요....도와주세요.
신인재
•
1999.07.21 00:01
델아기
•
1999.07.21 00:18
신인재
•
1999.07.21 00:47
델아이
•
1999.07.21 02:28
신인재
•
1999.07.21 02:34
박신정
•
1999.07.20 22:49
1
COMMENTS
/
0
LIKES
메모에 줄간격을 주고 싶습니다.
신인재
•
1999.07.21 00:20
음....TMemo로는 줄간격을 조절할 수 없습니다. 한델자료실의 RichEdit98 을 이용하시거나 Rx라이브러리...
정명희
•
1999.07.20 22:35
1
COMMENTS
/
0
LIKES
반각모드인 경우 전각모드로 바꾸는 방법?
안녕하세요... 검색을 해 보다가 원하는 내용이 없는 것 같아 질문을 올립니다. TEdit에서 입력받을때 전각모드에서만 입력을 받아야 하거든요.. 전각인지 반각인지 체크하여 반각모드인 경우 전각모드로 바꾸려면 어떻게 해야 하는지... ...
정명희
•
1999.08.03 22:05
정명희 께서 말씀하시기를... > > 안녕하세요... > 검색을 해 보다가 원하는 내용이 없는 것 같아 질...
이정환
1999.07.20 22:13
0
COMMENTS
/
0
LIKES
변수의 종류
김철수
•
1999.07.20 20:07
1
COMMENTS
/
0
LIKES
로벨 Netware 로그인 아이디 알아내는 방법 좀 알려주세요.
김영대
•
1999.07.20 21:30
김철수 께서 말씀하시기를... > Novell Netware로 로그인시 로그인 아이디 알아내는 방법 아시는 분 좀 알...
델초보
•
1999.07.20 19:36
1
COMMENTS
/
0
LIKES
[질문!!]FTP에 관하여!
김영대
•
1999.07.20 21:08
델초보 께서 말씀하시기를... > 안녕하세요! 델초봅니다. > 궁금한 점을 해결해 주셔서 감사합니다. > N...
이상준
•
1999.07.20 19:32
1
COMMENTS
/
0
LIKES
[급 질문]에러발생 원인좀 ....
정근수
•
1999.07.21 20:19
이상준 께서 말씀하시기를... > 델파이로 프로젝트를 진행중인 데 급한 상황이 발생했습니다. > 기본 폼...
최선기
•
1999.07.20 19:02
2
COMMENTS
/
0
LIKES
DBGrid의 셸을 클릭하여 검색할려면...?
데빠이
•
1999.07.20 19:22
최선기 께서 말씀하시기를... > 안녕하세요.. 이곳에서 도움을 많이 받는군요.. > > 제가 하는 것은 버...
최수영
•
1999.07.21 17:05
데빠이 께서 말씀하시기를... > 최선기 께서 말씀하시기를... > > 안녕하세요.. 이곳에서 도움을 많이 받...
김택훈
•
1999.07.20 18:25
1
COMMENTS
/
0
LIKES
DLL Version 포함이 안됩니다.
이현신
•
1999.07.20 18:51
김택훈 께서 말씀하시기를... > DLL에 버젼정보를 포함시키기위해 > project|options의 version info페이...
김동언
•
1999.07.20 18:07
1
COMMENTS
/
0
LIKES
문자열이 한글인지 영문인지 ?
김영대
•
1999.07.20 18:20
김동언 께서 말씀하시기를... > 안녕하세요 ! > 제 질문하고자 하는 것은 제목에 나와있듯이 > 스트링 ...
Crow2020
1999.07.20 18:03
0
COMMENTS
/
0
LIKES
[재질문] Eprinter에 대해서...
도성현
•
1999.07.20 17:49
1
COMMENTS
/
0
LIKES
Enter Key에 대하여
데빠이
•
1999.07.20 18:48
도성현 께서 말씀하시기를... > 두 가지 질문 > > 1. User Log on 화면에서 User ID 및 password를 입...
김대목
1999.07.20 15:21
0
COMMENTS
/
0
LIKES
질문이 또 있네요
한 재
•
1999.07.20 11:37
1
COMMENTS
/
0
LIKES
폰트 지정
노력하는이
•
1999.07.20 19:37
한 재 께서 말씀하시기를... > 도사님들 안녕하십니까? 며칠만에 오는군요. > > 라디오버튼을 누르...
지승용
•
1999.07.20 07:16
1
COMMENTS
/
0
LIKES
메모리를 빠르게 다른 메모리로 이동시키는 방
구창민
•
1999.07.20 07:29
지승용 께서 말씀하시기를... > Analog Digital Transfer Card를 사용해서 데이터를 입력받는 프로그램을 ...
김대목
•
1999.07.20 06:57
1
COMMENTS
/
0
LIKES
DBGrid에서 이렇게 하는 방법은 없나요?
김영대
•
1999.07.20 21:15
김대목 께서 말씀하시기를... > 안녕하세요 저두 델파이로 프로그래밍을 공부하는 학생입니다. > 다름이 ...
정연섭
•
1999.07.20 05:06
1
COMMENTS
/
0
LIKES
Tab키의 기능을 없에려면...
구창민
•
1999.07.20 07:23
정연섭 께서 말씀하시기를... > tab key 눌러도 다음텝으로 이동 못하게 하려면 > 어떻해야 하는지 가르...
델파이 초보
1999.07.20 04:44
0
COMMENTS
/
0
LIKES
ODBC 연결을 코딩으로 작성하는 방법?
정명희
1999/07/20 22:35
Views
629
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
>
> 안녕하세요...
> 검색을 해 보다가 원하는 내용이 없는 것 같아 질문을 올립니다.
>
> TEdit에서 입력받을때 전각모드에서만 입력을 받아야 하거든요..
> 전각인지 반각인지 체크하여
> 반각모드인 경우 전각모드로 바꾸려면 어떻게 해야 하는지...
> 아시는 분의 답변을 부탁드립니다...
자문자답이네요...
제가 하는 방법의 효율성이 어떨지 모르겠지만요..
먼저 TEdit의 ImeMode -> imHanguel 로 하고
TEdit의 KeyDown Event가 발생할 때 전각/반각 전환 key가 눌린 것인지
check하여 ImeMode를 다시 설정하였습니다.
현재 한/영 상태를 return해주는 IsHanState()은 통신상에서 다른 분이
올려놓으신 겁니다. 출처는 잘 모르지만 감사드립니다..
function Tform.IsHanState(paForm:TForm):boolean;
{Desc 현재 한/영 상태 Return}
var
fFlag, imeMode : DWORD;
hIMC : THandle;
begin
Result := True;
fFlag := 1;
hIMC := ImmGetContext(paForm.Handle);
if hIMC = 0 then exit;
ImmGetConversionStatus(hIMC,fFlag,imeMode);
ImmReleaseContext(paForm.Handle,hIMC);
Result := (fFlag = 1);
end;
procedure Tform.TEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
{Desc : 전각모드 유지}
var iKey : Integer; //입력된 Key
sHanState : String; //한/영 상태
sImeMode : TImeMode; //ImeMode
begin
iKey := Ord(Key);
if IsHanState(form) Then
sHanState := '한글'
else sHanState := '영문';
// 전각 / 반각 전환 key가 눌린 경우
if iKey = 23 Then Begin
if sHanState = '한글' Then
sImeMode := imHanguel
else sImeMode := imAlpha;
ImeMode := sImeMode;
SetIme;
End;
end;