TComboBox 버튼 크기 늘리기

From YYpBD's MediaWiki

Jump to: navigation, search

ComboBox의 버튼 크기 늘리기
터치 판넬을 쓸 경우 컴보박스나 스크롤 바의 화살표 버튼이 작아서 고객은 늘 불만입니다.

가녀린 손가락의 소유자만이 조작할수 있죠 -_-;

아래 함수를 쓰면 이 버튼들을 주먹만하게도 만들수 있습니다.

procedure ResizeScrollButton(const ASize: Integer = 18);
var
NonClient: TNonClientMetrics;
begin
try
   NonClient.cbSize := SizeOf(TNonClientMetrics);
   SystemParametersInfo(SPI_GETNONCLIENTMETRICS,SizeOf(TNonClientMetrics),@NonClient,0);
   NonClient.iScrollWidth := ASize;
   NonClient.iScrollHeight := ASize;
   SystemParametersInfo(SPI_SETNONCLIENTMETRICS,SizeOf(TNonClientMetrics),@NonClient,SPIF_SENDCHANGE);
finally
   LockWindowUpdate(0);
end;
end;

윈도우의 모든 스크롤바 버튼과 컴보박스의 드롭다운 버튼.... 이걸 쓰는 모든게 몽창 다 커져 버리니 특수한 경우에만 사용하세요...;


일본의 모 S/W를 보고 찾아봤더니 역시나 구글이 알려주더군요..;


PS.
참고로 리스트 박스의 경우 Style 을 lbOwnerDrawFixed 로 하고 ItemHeight 을 위 함수의 사이즈와 동일하게 해야 보기 좋습니다.
맞춤검색