Здравствуйте, я решил сделать с помощью HIASM под себя многофункциональную среду разработки. По определённым причинам (на которых мне не хочется заострять внимание) мне эта среда разработки жизненно необходима. Поэтому буду мучить вас всех, может быть дилетантскими, вопросами (знаю в определённой степени HTML, CSS, JavaScript, некоторые диалекты Basic: но не знаю ни Pascal, ни Delphi).
Теперь к проблемам:
Первое с чем столкнулся - это проблема главному окну моей программы "эластичности". То есть, открывает пользователь программу, меняет размеры панелей контролов под себя, а, при закрытии программы, контролы должны записать свои размеры в главный ini файл. Считать свойства размеров и расположения с контролов не проблема. Да и записать их в ini файлы тоже. А вот присвоить эти свойства контролам при запуске приложения уже задача не простая. Ведь у большинства контролов отсутствуют методы динамического изменения их свойств размерности.
Тоже самое, при изменение размеров главного окна приложения контролы должны изменять свои размеры пропорционально их начальным размерам. Обработчик события resize главного окна сделать не проблема, а вот каким Макарам изменять свойства контролов?
Нашёл на этом форуме и в примерах SVN два различных приёма динамического изменения свойство размерности контролов.
Первый, путём использования использования стандартного элемента PosWindow (и по аналогии других элементов ВинКонтрол). Ту всё понятно. Изучил пример в ветке форума http://www.hiasm.com/xf/topic.php?p=88840. И полетело...
Но меня очень заинтересовал второй путь. В примерах SVN есть пример под названием "As_TabGrid.sha". Открыв его в программе HIASM, я увидел у стандартных контролов "дополнительные методы".
В поскалевских исходниках (Ctrl + F) я их что-то не заметил.
Открыв пример в обычном "блокноте", я увидел функции Point с именами "дополнительных методов" в качестве параметра. В справке к программе (Хелп-файл) я ничего не нашёл про функцию Point, и на этом форуме тоже (извините, если что-то не заметил).
Теперь вопросы:
1) Как работает функция Point, и откуда взялись эти "дополнительные методы" (в каком месте Паскаль-исходника они прописаны)?
2) Можно ли "создать" "дополнительные точки" из среды HIASM (посредствам контекстного меню, например), или же их надо вставлять в код вручную?
3) Ко всем ли контролов можно "добавить" эти "дополнительные методы", и какие именно?
4) Какой из двух методов (с помощью элементов ВинКонтрол, или с помощью "дополнительных методов") является самым оптимальным с точки зрения конечной компиляции продукта?
Извините ещё раз за беспокойства.
Этот топик читают: Гость
Ответов: 16
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 205
Рейтинг: 3
|
|||
по поводу начало открытия то всё работает окно запоминает..! всё чего нужно..!
тыкаешь в MAINFOFM потом в свойствах SavePosName // |
|||
карма: 1 |
|
Ответов: 16
Рейтинг: 0
|
|||
И позиции контролов тоже записывается автоматически? Я думал что это свойство сохраняет позицию и размеры только самого главного окна формы.
|
|||
карма: 0 |
|
Ответов: 205
Рейтинг: 3
|
|||
вот внимательно погляди..! всё работает и сохраняеться..! откомпелируй .. поюзай и вот вуаля set ini а там я думаю как разложить понять файл (ini ) рас изучал
Lehij73 писал(а): HTML, CSS, JavaScript,code_9786.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_9786.txt [599B] [218] |
Ответов: 16
Рейтинг: 0
|
|||
millano писал(а): вот внимательно погляди..! всё работает и сохраняеться..! откомпелируй .. поюзай и вот вуаля set ini а там я думаю как разложить понять файл (ini ) рас изучал Я про конктролы на говорю которые расположены на главной форме. А в Вашем примере простто открывается новая форма, и запаминается её размеры. Ещё вопрос: 5) Зачем нужен отдельный элемент Spliter, если он уже включён в другие контролы, и почему даже у него нет методов изменения позиции? |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Пример резинки
|
|||
карма: 25 |
|
Ответов: 16
Рейтинг: 0
|
|||
Большое спасибо Tad.
Тут опять эти "дополнительные точки". Я просто хотел бы разобраться с сами принципом, а не действовать методом "научного тыка". Может мне всё таки кто то ответит именно на те 5 вопросов, которые я задал выше? Я просто хочу разобраться в самой системе. |
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Lehij73 писал(а): я решил сделать с помощью HIASM под себя многофункциональную среду разработкиБез знания Делфи ничего не получится. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Lehij73, Cлевой стороны у свойств есть белые квадратики (в красном элипсе). Если на них кликнуть мышкой (отметить), то на компоненте появится точка.
В этой же панели вверху Можно выбрать СвойстваТочки . В "Точки" то-же самое - поставил ворону - получил точку. ------------ Дoбавленo: Вроде сразу ответил на все вопросы? |
|||
карма: 25 |
| ||
файлы: 1 | dp.jpg [10.9KB] [412] |
Ответов: 16
Рейтинг: 0
|
|||
Огромное спасибо Tad
Это исчерпывающий ответ на 4 из 5 вопросов. Тему можно считать исчепаной и закрытой! Но просто из принципа ![]() Вячеслав я прекрасно понимаю что без знания Дельфи (хотя я предпочту разбираться с фри Паскалем) тут далеко не уедешь. Но с чего-то надо начинать... Всем спасибо! |
|||
карма: 0 |
|
Ответов: 3851
Рейтинг: 159
|
|||
Tad писал(а): Cлевой стороны у свойств есть белые квадратики ...![]() ![]() |
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Андрей., в справке и сейчас достаточно много освещено, но вопросов от этого отнюдь меньше нестановится. Это говорит о том что мы всётаки ещё люди а не роботы и хотим общаться
![]() |
|||
карма: 4 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Андрей., автор посчитал, что это "и козе понятно".
![]() Как и то, что если на открытую точку, к примеру, doVisible подать 1, то элемент появится, а если 0, то скроется. ![]() |
|||
карма: 25 |
|
Ответов: 16
Рейтинг: 0
|
|||
Андрей. писал(а): и почему этого нет в справке ? четырьмя вопросами было бы меньше Я сейчас снова перечитал справку к прогамме (обычно я внимательно читаю Хелп-файлы и/или различную инфу на сайтах производителей софта). Я действительно пропустил этот момент. То что в окне Параметры/Точки можно подключать дополнительные свойства, я уяснил. А вот то что в окне Параметры/Свойства можно делать тоже самое, я просто упустил из виду. Моя вина. И на старуху бывает проруха. |
|||
карма: 0 |
|
14