Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611

Вертикальный TSplitter оказывается в самом низу

14.12.2017, 09:18. Показов 2247. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как так может получиться, что splitter оказывается внизу?



Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
object pnlParent: TPanel
    Align = alClient
    Left = 3
    Top = 99
    Width = 663
    Height = 483
    object lstOutput: TListBox
        Align = alBottom
        Left = 0
        Top = 401
        Width = 663
        Height = 82
        Visible = False
    end
    object splOutput: TSplitter
        Align = alBottom
        Left = 0
        Top = 398
        Width = 663
        Height = 3
        Visible = False
    end
    object sciEditor: TScintilla
        Align = alClient
        Left = 0
        Top = 0
        Width = 663
        Height = 398
    end
end
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2017, 09:18
Ответы с готовыми решениями:

Сделать строку в самом низу
Почему, когда я выравниваю таблицу по левому краю на этой странице, то нижняя строка оказывается справа от таблице (Получить...

Аттачменты в самом низу формы
Если аттачменты не присоединены к РТФ, то они автоматом отображаются в самом низу формы. Как бы их скрыть? Может есть какое-то...

Футер в самом низу страницы
Помогите расположить футер в самом низу страницы :) чёт я это дело не продумал, а ща его не получается уже в самый низ всунуть, так как он...

18
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
14.12.2017, 09:24
Лучший ответ Сообщение было отмечено артист как решение

Решение

Цитата Сообщение от артист Посмотреть сообщение
object splOutput: TSplitter
* * * * Align = alBottom
Сам же написал...

Добавлено через 1 минуту
Не нравится - измени свойство Align в Инспекторе объектов.
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
14.12.2017, 10:04  [ТС]
Так он и должен быть alBottom.

Сначала создаётся TListBox и уходит вниз.
Потом TSplitter, уходит вниз перед TListBox.
Ну и TScintilla занимает всё оставшееся место.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
14.12.2017, 10:13
А вопрос-то в чём?
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
14.12.2017, 10:19  [ТС]
Понял в чём дело.
Тут Splitter и ListBox по умолчанию не отображаются.

И при каком-то событии они становятся видимыми.

Сейчас сделал тестовую форму с 2мя панелями сплиттером и кнопкой.
Кто последним становится видимым, тот и уходит в самый низ(с Align = alBottom)...

Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1OnClick(Sender: TObject);
begin
  if Panel1.Visible then Panel1.Hide
  else Panel1.Show;
 
  if Splitter1.Visible then Splitter1.Hide
  else Splitter1.Show;
end;
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
14.12.2017, 10:34
Лучший ответ Сообщение было отмечено артист как решение

Решение

Ну, не знаю, что у тебя с умолчаниями. У меня отображается. Чтобы был виден и удобен в использовании, я увеличивал ширину.
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
15.12.2017, 10:30  [ТС]
Блин, всё равно эта гадина внизу оказывается...
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
15.12.2017, 11:14
Цитата Сообщение от артист Посмотреть сообщение
всё равно эта гадина внизу оказывается
А как должно быть?Где она должна оказаться?И какие действия Вы для этого предпринимаете?

Добавлено через 23 секунды
И о чём это?
Цитата Сообщение от артист Посмотреть сообщение
эта гадина
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
15.12.2017, 12:54  [ТС]
В первом посте 2 скрина.
В редакторе форм сплиттер находится между 2мя объектами.
После компиляции он оказывается в самом низу.

Но собственно компиляция ни при чем.
Если поставить сплиттеру и нижнему компоненту Visible = true.
То всё нормально, он будет между объектами.

Но изначально сплиттер и нижний компонент должны быть скрыты. И только после нажатия кнопки должны появляться.
Так после появления кнопки сплиттер в самом низу оказывается.

В коде у них всего 1 раз метод Show применяется, и они стоят в правильном порядке.
Сначала сплиттер, потом нижний компонент. А работает как будто всё наоборот.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
15.12.2017, 13:06
артист, у меня сразу после создания сплитера, он видимый.Создал сплитер, изменил алигн с Left на Bottom, потом создал панельку, назначил ей алигн в Bottom.Сейчас у меня внизу панелька, а под ней сплитер. Мышью переместил сплитер выше панельки. Профит.

Компилировал, запускал - всё ОК.

Добавлено через 1 минуту
Код не трогал. Может, Вы в коде что-то трогаете?
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
15.12.2017, 14:28  [ТС]
Да они в форме, в свойствах устанавливаются Visible = false. Чтобы не отображались.

В коде всё нормально, это просто мистика.
Мб есть какой-то способ поменять их местами, уже после отображения?
Ну типа родитель TPanel, у неё наследники, TEdit = 1, TListBox = 2, TSplitter = 3...
И поменять местами TListBox и TSplitter.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
15.12.2017, 15:10
Ну, не знаю тогда..
Возьми RxSplitter, вот библиотека(если у Вас нет её):
http://thedelphi.ru/articles/I... -RxLib.php
У этого компонента есть свойства ControlFirst(тот, что выше), ControlSecond(тот, что ниже).
1
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
15.12.2017, 15:52
очередность вызова методов Show поменяй. сначала показывать компонент, затем сплиттер
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
15.12.2017, 16:03  [ТС]
Цитата Сообщение от DenNik Посмотреть сообщение
очередность вызова методов Show поменяй. сначала показывать компонент, затем сплиттер
Наоборот нужно, сначала сплиттер, а потом компонент, у них у обоих Align = alBottom, кто последним будет показываться, тот и окажется ниже всех.
Но я и так и так пробовал(чем черт не шутит) - ничего не меняется.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
15.12.2017, 16:16
Говорю же, юзай RxSplitter. Там не прогадаешь.
1
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
15.12.2017, 16:29
а при чем тут вообще AMXX Studio (программа для написания скриптов для Half-Life) и Делфи?
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
15.12.2017, 18:19  [ТС]
Цитата Сообщение от Matan! Посмотреть сообщение
Говорю же, юзай RxSplitter. Там не прогадаешь.
Да я видел, просто ещё не занимался, спасибо.

Цитата Сообщение от DenNik Посмотреть сообщение
а при чем тут вообще AMXX Studio (программа для написания скриптов для Half-Life) и Делфи?
Как при чем, в ней этот косяк со сплиттером.
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
15.12.2017, 22:29

Цитата Сообщение от DenNik Посмотреть сообщение
а при чем тут вообще AMXX Studio и Делфи?
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,611
16.12.2017, 09:53  [ТС]
Написан редактор не делфи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2017, 09:53
Помогаю со студенческими работами здесь

Разместить footer в самом низу страницы
Привет, слушайте, есть вопрос по css, не знаешь как разместить footer чтобы он был в самом низу страницы и не было отступов по краям и...

вопрос в самом низу посмотрите интересно понять
# include <iostream> // класс для работы с вводом-выводом # include <windows.h> // для функции CharToOem(); # include...

@media в самом низу файла, но все равно не использует
Приветствую. Имею @media (max-width: 1024px) { .col-md-5.section-library-function-row-box .btn-top { left: 34px; } }

Как убрать пустоту в самом низу страницы сайта?
Доброго времени суток! Вопрос такой: есть обычная таблица вставленная в .html файл, в которой размещены различные элементы: шапка, рисунки,...

Загрузочные диски в самом низу списка, не получается изменить
Проблема у знакомого возникла после того,как ребенок поигрался кнопкой вкл/выкл компа и аварийной перезагрузки. Как я понял долго игрался!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru