powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Узнать Left у компонента
9 сообщений из 9, страница 1 из 1
Узнать Left у компонента
    #40102489
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, есть форма MainForm, на ней расположен компонент ScrollBox со свойство Align = alClient, далее:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
type
  TFrmMain= class(TForm)
procedure CreateMyComponentDetail;
end;

implementation

procedure TFrmMain.CreateMyComponentDetail;
var 
  FrmDetail:  TFormDetail;
begin
FrmDetail := TFormDetail.Create(self);
FormDetail.Parent := ScrollBox1;
FormDetail.Label1.Caption := 'Это компонент второй формы';
FormDetail.Show;
Self.MyPanel.Width := FormDetail.Label1.Left;
end;



Вопрос, как-то можно получить значение FormDetail.Label1.Left на форме FrmMain?
В Self.MyPanel.Width = 0 постоянно почему-то, хотя на форме FrmMain он имеет смещение.
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40102501
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet
Вопрос, как-то можно получить значение FormDetail.Label1.Left на форме FrmMain?

Можно всё, что не противоречит законам физики. Но если спросить "а как решить вот эту реальную задачу?", есть шанс получить ответом не такой... оригинальный способ.
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40102515
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типичная Сага о X, Y и Z...
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40102917
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

Во-первых, Вы определяете и создаёте FrmDetail, а потом обрашаетесь к неведомой FormDetail.
Будем считать что FormDetail - это на самом деле FrmDetail.
Хотя неряшливость и предоставление откровенно нерабочего кода симпатий к Вам не прибавляет.

Вы не сказали по отношению к чему Вам нужен этот лефт. 0 - это лефт относительно родителя Label1, т.е. FrmDetail.
Если он 0, то значит эта Лейбла лежит у самого левого краю формы. Ничего странного.

Если Вам треба координата Лейблы по отношению к левой стенке всего приложения, надо просуммировать лефты у самой Лейблы, и у всех её родителей. То есть FrmDetail и ScrollBox1 (если ScrollBox1 лежит прямо на главной форме).

У Вас не задан Align FrmDetail, если он тоже Align = alClient, как и у ScrollBox1, то так и так Left будет 0 или около нуля.
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40102949
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

за говнокод уже напихали, поэтому скину тебе еще одну строчку говнокода
Код: pascal
1.
ShowMessage(IntToStr((FormDetail.FindComponent('Label1') as TLabel).Left));


Это реально говнокод, но в общих чертах, так сказать...
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40102952
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenko
wsnet,

за говнокод уже напихали, поэтому скину тебе еще одну строчку говнокода
Код: pascal
1.
ShowMessage(IntToStr((FormDetail.FindComponent('Label1') as TLabel).Left));


Это реально говнокод, но в общих чертах, так сказать...

кажется я понял, что ты хочешь: что-то типа
Код: pascal
1.
ScrollBox1.Left+FormDetail.Label1.Left


только не понятно, где это может пригодиться
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40103200
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

лучше всего прикладывать к вопросу тестовый проект, чтобы любой желающий помочь мог открыть его у себя и воспроизвести проблему. А так, кроме умных нотаций, ничего не получишь :)
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40103222
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
прикладывать к вопросу тестовый проект

Нет, вы посмотрите!
...
Рейтинг: 0 / 0
Узнать Left у компонента
    #40103687
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

я честно прочитал стартовый пост раз 5, но так и не понял, "кто на ком стоял.."© :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Узнать Left у компонента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]