Определить размер ScrollBar
Модератор: Модераторы
Определить размер ScrollBar
А именно необходимо определить ширину ScrollBar в StringGrid
Походу запоздалый ответ...
Для Windows я делаю так
У меня встречный вопрос, как это сделать, например, для Ubuntu?
Для Windows я делаю так
Код: Выделить всё
// The code for the ScrollBarVisible function is below:
function ScrollBarVisible(Handle : HWnd; Style : Longint) : Boolean;
begin
Result := (GetWindowLong(Handle, GWL_STYLE) and Style) <> 0;
end;
// толшина vertical scrollbar
function tmp_Size_Vertical_Scrollbar(Grid_Handle: THandle): Integer;
begin
if ScrollBarVisible(Grid_Handle, WS_VSCROLL) then
Result := GetSystemMetrics(SM_CXVSCROLL)
else
Result := 0;
end;
// толшина horizontal scrollbar
function tmp_Size_Horizontal_Scrollbar(Grid_Handle: THandle): Integer;
begin
if ScrollBarVisible(Grid_Handle, WS_HSCROLL) then
Result := GetSystemMetrics(SM_CXHSCROLL)
else
Result := 0;
end;
У меня встречный вопрос, как это сделать, например, для Ubuntu?
Ustas писал(а):У меня встречный вопрос, как это сделать, например, для Ubuntu?
Точно так-же. Функция GetSystemMetrics объявлена в модуле LCLIntf, константы SM_XXXX объявлены в модуле LCLType.
kazalex писал(а):Ustas писал(а):У меня встречный вопрос, как это сделать, например, для Ubuntu?
Точно так-же. Функция GetSystemMetrics объявлена в модуле LCLIntf, константы SM_XXXX объявлены в модуле LCLType.
Благодарю.
