Delphi7에서 dbgrid의 가로 스크롤링을 숨기거나 제거 할 수 있습니다. 나는 onResize 너비를 바꿈으로써 시도하지만 올바르게하지는 않았다.델파이 dbgrid에서 수평 스크롤을 숨길 수있는 방법
1
A
답변
5
이 시도 :
EnableScrollBar(DBGrid1.Handle,SB_HORZ,ESB_DISABLE_BOTH);
ShowScrollBar(DBGrid1.Handle,SB_HORZ,False);
문제가 스크롤을 비활성화이지만 :-(표시
다른 옵션은 다음과 같습니다
TDBgrid2 = class(TDBgrid)
private
procedure WMNCCalcSize(var msg: TMessage); message WM_NCCALCSIZE;
end;
.
.
procedure TDBgrid2.WMNCCalcSize(var msg: TMessage);
var
style: Integer;
begin
style := getWindowLong(handle, GWL_STYLE);
if (style and WS_HSCROLL) <> 0 then
SetWindowLong(handle, GWL_STYLE, style and not WS_HSCROLL);
inherited;
end;
그것은 더 복잡하지만,
+0
두 번째 솔루션을 선택하는 경우 .dfm 파일의 클래스를 변경해야합니다. –
+0
스크롤 막대가 클릭 할 수없는 클라이언트 영역 -> 아래쪽 행을 선택할 수없는 –
1
데이비드의 완벽한 솔루션에 대한 후속 조치로, 변경하지 않아도됩니다. 전자 .DFM의 클래스와 동일한 유형 이름
TDBgrid = class(DBGrids.TDBgrid)
private
procedure WMNCCalcSize(var msg: TMessage); message WM_NCCALCSIZE;
end;
+0
에 문제가 있습니다. 좋은 속임수! 엑스-) –
를 사용하는 경우에는 스크롤 바가 표시되지 않도록 스크롤 막대를 숨기거나 colums의 크기를 조정 하시겠습니까? –