델파이

콤보박스(TComboBox) 에서 마우스 휠 작동안하게 (스크롤 안되게)

미스터몽키 2016. 9. 10. 11:30

웹 브라우저에서는 마우스 휠을 사용하여 화면 스크롤을 많이 한다.

그런데 응용프로그램의 콤보박스에 포커스가 있을때 마우스 휠을 사용하면 콤보박스 아이템이 스크롤 되어 원치않는 상황이 발생되곤 한다.


마우스 휠의 제어는 TForm 이벤트 핸들러에서 할 수 있다.


다음 코드는 콤보박스에 포커스가 있을 때 마우스 휠을 사용하지 못하게 하는 코드이다.


procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
  var Handled: Boolean);
begin
  // 모든 콤보박스 마우스 휠 작동안되게
  if Screen.ActiveControl is TComboBox then
  begin
    Handled := True;
  end;


{ 특정 콤보박스만 마우스 휠 작동안되게
  if Screen.ActiveControl = ComboBox1 then
  begin
    Handled := True;
  end;
}
end;