{"name":"ctrlScrollValues","title":"ctrlScrollValues","type":"command","url":"https://community.bistudio.com/wiki/ctrlScrollValues","revid":377723,"updated":"2026-01-02T09:27:52Z","groups":["GUI Control"],"status":"ok","games":{"arma3":"2.00"},"since":"arma3 2.00","arma3_since":"2.00","description":"Returns scroll values for current scrollbars in range 0...1 (-1 if not applicable) for the following controls:\n\n- CT_CONTROLS_TABLE\n- CT_CONTROLS_GROUP\n- CT_TREE\n- CT_LISTBOX\n- CT_COMBO\n- CT_XCOMBO\n- CT_LISTNBOX\n- CT_LISTNBOX_CHECKABLE","syntaxes":[{"syntax":"ctrlScrollValues control","params":[{"name":"control","type":"Control","type_expr":"Control"}],"returns":{"type":"Array","type_expr":"Array","description":"with [vertical, horizontal]\n- vertical: Number in range 0..1 - horizontal: Number in range 0..1","text":"Array with [vertical, horizontal]\n\n- vertical: Number in range 0..1\n- horizontal: Number in range 0..1"},"form":"unary","right":{"text":"control"}}],"examples":[{"code":["private _scrollvalues = ctrlScrollValues _ctrl;"]},{"text":"```sqf\n// ControlsGroup\nprivate _disp = findDisplay 46 createDisplay \"RscDisplayEmpty\";\nprivate _ctrlGrp = _disp ctrlCreate [\"RscControlsGroup\", -1];\nprivate _ctrl = _disp ctrlCreate [\"RscTree\", -1, _ctrlGrp];\n_ctrl tvAdd [[], \"Root\"];\nfor \"_i\" from 1 to 25 do\n{\n    _ctrl tvAdd [[0], format [\"Tree Item %1\", _i]];\n};\n_ctrl ctrlSetPosition [0,0,0.3,1.2];\n_ctrl ctrlCommit 0;\ntvExpandAll _ctrl;\n_ctrlGrp ctrlSetPosition [0,0,0.2,0.3];\n_ctrlGrp ctrlCommit 0;\n\nuiNamespace setVariable [\"_ctrl\", _ctrlGrp];\nonEachFrame\n{\n    hintSilent str ctrlScrollValues (uiNamespace getVariable [\"_ctrl\", controlNull]);\n};\n0 spawn\n{\n    sleep 1;\n    uiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [0.3, -1];\n    sleep 1;\n    uiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [-1, 0.3];\n    sleep 1;\n    uiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [0.7, -1];\n    sleep 1;\n    uiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [-1, 0.7];\n};\n```","code":["// ControlsGroup\nprivate _disp = findDisplay 46 createDisplay \"RscDisplayEmpty\";\nprivate _ctrlGrp = _disp ctrlCreate [\"RscControlsGroup\", -1];\nprivate _ctrl = _disp ctrlCreate [\"RscTree\", -1, _ctrlGrp];\n_ctrl tvAdd [[], \"Root\"];\nfor \"_i\" from 1 to 25 do\n{\n\t_ctrl tvAdd [[0], format [\"Tree Item %1\", _i]];\n};\n_ctrl ctrlSetPosition [0,0,0.3,1.2];\n_ctrl ctrlCommit 0;\ntvExpandAll _ctrl;\n_ctrlGrp ctrlSetPosition [0,0,0.2,0.3];\n_ctrlGrp ctrlCommit 0;\n \nuiNamespace setVariable [\"_ctrl\", _ctrlGrp];\nonEachFrame\n{\n\thintSilent str ctrlScrollValues (uiNamespace getVariable [\"_ctrl\", controlNull]);\n};\n0 spawn\n{\n\tsleep 1;\n\tuiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [0.3, -1];\n\tsleep 1;\n\tuiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [-1, 0.3];\n\tsleep 1;\n\tuiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [0.7, -1];\n\tsleep 1;\n\tuiNamespace getVariable [\"_ctrl\", controlNull] ctrlSetScrollValues [-1, 0.7];\n};"]}],"see_also":["ctrlSetScrollValues","sliderPosition","progressPosition"]}