Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2016, 10:50   #1
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию Фиксация позиции компонентов в редакторе

Всем привет. Вопрос не по коду, вопрос по фичам самой делфи (XE7).
Может кто разбирался в вопросе фиксации компонентов на форме редактора. Хочу избавиться от проблемы "случайного" перетаскивания или изменения размера компонента при редактировании(TEdit,TLabeledEdit,t StringGrid и.т.д.). Может быть есть какая нибудь влошебная штука типа "ПРИКЛЕИТЬ"-"ОТКЛЕИТЬ"

P/S:
1- Писать резиновую форму - не вариант,возникнут грабли с TLabeledEdit(у него нет свойств Align),да и динамика изменений в ПО высокая, абракадабры с "резинизацией" формы угнетают.
2- Прописывать в INI top,left,width не удобно.
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 20.12.2016, 10:57   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Anchors ???
with = Left + Right
height = Top + Bottom

контейнеры Panel Groupbox ....
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 20.12.2016, 11:05   #3
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Anchors ???
with = Left + Right
height = Top + Bottom

контейнеры Panel Groupbox ....
Повторю вопрос. Фиксировать УЖЕ имеющиеся компоненты на форме, без абракадабр с групбоксами и ручным приписыванием якорей ,позиций и прочего.

P/S: Выбрал 10 компонентов кликнул -"Приклеить". Все,свойства Left,top,Width заблокирован. Компонент переместить нельзя пока не кликнешь "ОТКЛЕИТЬ". Повторюсь это не в готовом проекте, это при редактировании проекта.
Пишу много и развернуто

Последний раз редактировалось Heneken87; 20.12.2016 в 11:11.
Heneken87 вне форума Ответить с цитированием
Старый 20.12.2016, 12:37   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Frame набросал как попало компоненты и пиши код.
Form добавил нужный фрейм и расставляй компоненты "набросанные" во фрейме по фен-шую.
Да это можно делать только в пределах одного контейнерного объекта (Panel Groupbox), но учитывая
Цитата:
без абракадабр с групбоксами
все не так страшно.

надо исправить код идем во Frame правим код и "случайно" двигаем компоненты.
Form будет ИГОНОРИРОВАТЬ большую часть изменений положения компонентов Frame.
Необходимое условие для этого наличие в dfm коде формы тех самых положений (та самая расстановка по ... )
частенько приходилось с этим бороться, т.е. решать обратную задачу КАК в программе увидеть НОВОЕ размещение компонентов.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.12.2016 в 12:45.
evg_m на форуме Ответить с цитированием
Старый 20.12.2016, 13:04   #5
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Frame набросал как попало компоненты и пиши код.
Form добавил нужный фрейм и расставляй компоненты "набросанные" во фрейме по фен-шую.
Да это можно делать только в пределах одного контейнерного объекта (Panel Groupbox), но учитывая
все не так страшно.

надо исправить код идем во Frame правим код и "случайно" двигаем компоненты.
Form будет ИГОНОРИРОВАТЬ большую часть изменений положения компонентов Frame.
Необходимое условие для этого наличие в dfm коде формы тех самых положений (та самая расстановка по ... )
частенько приходилось с этим бороться, т.е. решать обратную задачу КАК в программе увидеть НОВОЕ размещение компонентов.
Понял, спасибо. С фреймами работал,но оч.давно. Текущий проект уже настроен на работу с разными скинами(через TImage на панельках) или в щадящем режиме без Timage с стандартной прокраской типа color:=#FFFFF.
У Вас проблем с прорисовкой фрейма не встречалось,особенно если менять тему Windows с стандарта на упрощенный стиль и обратно ? В фреймах переназначение некоторых свойств решает проблему,если таковая имеется?
Код:
  AControl.Refresh;
  with AControl do
     for  i := 0 to ComponentCount - 1  do
     begin
     Application.ProcessMessages;
      if (Components[i] is Tlabel)  then   Tlabel(Components[i]).Transparent:=true;
      if (Components[i] is TLabeledEdit)  then   TLabeledEdit(Components[i]).EditLabel.Transparent:=True;

     end;
Пишу много и развернуто

Последний раз редактировалось Heneken87; 20.12.2016 в 14:05.
Heneken87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фиксация tinyMCE Rost93 Свободное общение 0 22.04.2012 05:58
Фиксация данных lite Microsoft Office Excel 7 13.07.2010 15:44
фиксация формы viking Общие вопросы Delphi 2 05.06.2009 18:55
Фиксация фреймов Merkator HTML и CSS 3 05.03.2009 08:00
Фиксация значения `Dmitry Microsoft Office Excel 4 08.04.2008 13:04