TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
А tcheight - и есть высота прямоугольника, который возвращает GetClientRect.
Ага, немного уточнил формулу:
Где secondDbH равен 0, если вторая панель дисков выключена, и её высоте, если она включена, а x - что-то маленькое.
А вообще, похоже, участвуют не высоты самих файловых панелей, а высоты панелей, которые расположены за ними и содержат всякие там комбобоксы, строки состояния и т.п. А их по именам классов не найдёшь... Попробовать по позициям файловых панелей, что ли...
Ага, немного уточнил формулу:
Код: Выделить всё
int ypos=MulDiv(panel2.bottom-panel1.top-secondDbH+x, pos, 100)-3;А вообще, похоже, участвуют не высоты самих файловых панелей, а высоты панелей, которые расположены за ними и содержат всякие там комбобоксы, строки состояния и т.п. А их по именам классов не найдёшь... Попробовать по позициям файловых панелей, что ли...
Последний раз редактировалось MVV Вт мар 06, 2012 16:20, всего редактировалось 2 раза.
Да легко может быть. Высота клиентской части окна 515, верхняя граница верхней панели идет на уровне 119, нижняя граница нижней - на уровне 444. Имеем вообще 515-(444-119)=190. И это можно проверить любой утилитой, которая может показывать инфу об окнах (у меня WinScanner).
А утилит тестовых тут быть не может. Если бы я мог получать эти 136, я бы мог получать и остальное, и это было бы не нужно. Но у меня задача - определить позицию сепаратора как можно более простым методом, без поиска десятка дочерних окон.
А утилит тестовых тут быть не может. Если бы я мог получать эти 136, я бы мог получать и остальное, и это было бы не нужно. Но у меня задача - определить позицию сепаратора как можно более простым методом, без поиска десятка дочерних окон.
Это что? Её расстояние от верхней границы экрана?MVV писал(а):верхняя граница верхней панели
Как проверить я в курсе, у меня таких утилит...MVV писал(а):И это можно проверить любой утилитой, которая может показывать инфу об окнах (у меня WinScanner).
Так я хочу и найти простой способ. Только я так и не понял, как ты 136 получаешь.MVV писал(а):без поиска десятка дочерних окон
Это её относительные координаты (относительно левого верхнего угла окна тотала, точнее его клиентской области).Flasher писал(а):Это что? Её расстояние от верхней границы экрана?MVV писал(а):верхняя граница верхней панели
Ну, 136 я получаю во время отладки тотала, смотрю реальные числа, которые тотал передает функции MulDiv. Он передаёт 377 при высоте клиентской области 515, разница равна 138. Если отнять высоту сепаратора (ещё вопрос, надо ли), получим 136.
Именно.Flasher писал(а):Тогда я ничего не понимаю.MVV писал(а):Он передаёт 377 при высоте клиентской области 515, разница равна 138.
А кому он передаёт эти 377? Он передаёт их функции MulDiv, а не мне, и эти самые 377 - как раз моя главная цель. Мне надо получить либо 377 явно, либо получить 138 и отнять их от 515 (высота клиентской области окна), чтобы получить те самые 377.Flasher писал(а):Ты же пишешь, что не можешь получить 136. Что тебе мешает от высоты клиенткой области отнимать переданные аля "377"?