안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.
말씀하신대로 하면 됩니다. 아마도.. 이벤트를 지정한 컨트롤을 잘못한 것이 아닌가
싶네요. 그냥 지정하시려면 에디트의 On~ 이벤트 핸들러에 지정해줘야 합니다.
폼의 On~ 핸들러를 쓰시려면 폼의 KeyPreview 속성을 true로 만들어놔야 되구요.
그런데, 컨트롤키와의 조합을 검사하려면 OnKeyPress론 안되구요, OnKeyDown이나
OnKeyUp을 쓰셔야 합니다. 여기에 컨트롤/시프트/알트키의 조합인 TShiftState형
객체가 인수로 전달되기 때문입니다. 델파이를 쓰시는지 빌더를 쓰시는지 말씀을
안해주셨는데, 만약 빌더를 쓰신다면 원하는 키(예를 들어 F)를 검사하시기 전에
if(Sift.Contains(ssCtrl))
{
// 여기서 F인지 검사한다
}
이렇게 해주셔야 하구요, 델파이를 쓰신다면 아마도...
if ssCtrl in Sift then ...
이쯤 되었던거 같은데, 제가 델파이 사용자가 아니라 정확한지는 기억이 안납니다.
그럼, 도움되시길 바라면서, 이만....
독립문에서 임펠리테리였습니다.
(cbuilder, skyhi18, cbuilder@thrunet.com)
|