두 개의 목록 상자가 있으며 둘 다 Multiselect : = True입니다. 선택한 항목에 대해 클립 보드에서 복사/붙여 넣기를 할 수있는 팝업 메뉴가 있습니다. 모든 것은 의도 한대로 작동합니다.ListBox multiselect에서 OnKeyUp으로 포커스 손실
키보드 CtrlC (복사)와 Ctrl + V (붙여 넣기)를 추가하고 싶지만 Ctrl + C를 사용하여 선택한 항목이 모두 선택을 잃고 목록의 첫 번째 항목이 선택되고 복사됩니다 클립 보드에.
은 내가 KeyPreview와 팝업처럼 내가에서 Ctrl + C 등의 작업을 할 수있는 방법
if (ssCtrl in Shift) then
begin
case Char(Key) of
'c','C' : puCopyClick(Sender);
'v','V' : puPasteClick(Sender);
end;
Exit;
end;
case Key of
VK_Delete : puDeleteClick(Self);
end;
Exit;
OnKeyUp을 기본 폼을 사용하고?
감사합니다.
이전 질문에 따르면 키보드와 마우스 만 없으므로이 질문은 의미가 없습니다. 그 외에도 OnKeyUp을 선택하게 된 이유는 무엇입니까? 그건 잘못된 사건입니다. 다른 앱의 작동 방식을 살펴보십시오. 바로 가기 키는 키가 내려 오면 실행됩니다. 이 모든 일을 올바르게 수행하는 방법을 배우도록 도와 주시겠습니까? 이전 질문에서 판단 해 보니 당신이 옳은 일을하고 싶지 않은 것처럼 보입니다. –
@DavidHeffernan 당신은 결론을 도출하는 것처럼 보입니다 ** 많이. ** 나는 키보드가 없다고 말하지 않았고, 나는 그들이 마우스를 사용하도록 강요한다고 말했다. 그 이유는 친구의 실패한 비즈니스를 반 자동화하는 데 도움이되는 이유입니다. ** ** ** ** ** ** ** ** ** ** ** ** ** ** 할 일을하는 올바른 방법이 무엇인지 지시 할 것입니다. 나는 오랫동안, 아마도 당신이 태어나 기 전에 (명백한 오만함에 근거한 가정) 프로그래밍을 해왔으므로 상황의 5 % 만 이해하면 "제대로"가르쳐 주겠다고 제안하지 마십시오. – user2373289
강제로 마우스를 사용할 때 Ctrl + C를 어떻게 누르습니까? 마우스의 사용으로 만 포커스가 변경된다고 가정하려면, 그것은 당신에게 달려 있습니다. 하지만 잘못된 가정입니다. 나는 네가 올바른 방법으로 그렇게하도록 강요 할 수 없다. 'OnMouseUp'가 포커스 변경을 감지하는 올바른 방법이라고 믿는다면 그것은 당신에게 달려 있습니다. 그러나 나는 네가 틀렸다는 가능성에 마음을 열면 이익을 얻을 것이라고 믿는다. 물론, 나도 잘못 될 수 있습니다. 나는 모든 정보가 없다. –