TPanel 구성 요소에서 사용자 지정 단추를 만들려고합니다. 이를 위해 onmousedown 및 onmouseup 이벤트에 대한 재정의를 제공하고 일부 클릭을 처리하기 위해 onclick 이벤트를 사용했습니다.onmousedown, onmouseup 및 click 이벤트를 사용할 때 모든 클릭을 포착 할 수 없음
불행히도 패널을 빠르게 클릭하면 다른 클릭이 모두 손실되지만 그 이유는 알 수 없습니다.
심지어 가장 쉬운 예제도 이와 관련하여 실패합니다.
이procedure TForm1.Panel1Click(Sender: TObject);
begin
listbox1.Items.Add('click');
end;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
listbox1.Items.Add('mouse down');
end;
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
listbox1.Items.Add('mouse up');
end;
결과는 다음과 같다 :
mouse down
click
mouse up
mouse down
mouse up
가 등등 ... 각각의 두 번째 클릭은 무시 다음과 같이 나는 이벤트를, 새로운 VCL 애플리케이션을 만든 목록 상자, 하나 개의 패널을 추가 및 구현 그러나 나는 이유를 모른다.
누구나 설명 할 수 있습니까?