|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
||||||||||||||||
Delphi 6-7 Передача в процедуру любого визуального объекта через одну переменную06.02.2019, 02:05. Показов 6662. Ответов 84
Написал небольшую прогу и заморочился с полным ресайзом всех объектв и шрифтов на форме при резайзе самой формы. Написал, работает, но процедура ресайза просто ГИГАНСКАЯ и не умещается в экран и постоянно в ней одно и тоже, типа этого:
Попытался написать доп. процедуру чтобы было типа:
Чтобы в процедуру и "кнопку" и "панель" и "метку" передать можно было и не расписывать по 7 строк для каждого предполагаемого типа. Заранее ГРОМАДНОЕ СПАСИБО! P.S. Если у кого есть и другие мысли, методы, способы по полному ресайзу всех объектов на форме при ресайзе самой формы, очень буду признателен за инфу, почитаю, изучу обязательно. Даже если они вообще с другим подходом. Чтоб форма как картинка больше-меньше, а всё на месте осталось и с нужными пропорциями. Спасибо, спасибо!
0
|
||||||||||||||||
| 06.02.2019, 02:05 | |
|
Ответы с готовыми решениями:
84
Передача любого объекта в виде параметра функции в отдельный класс Передача объекта в процедуру |
|
Модератор
|
|
| 07.02.2019, 08:07 | |
|
klass2323, я где-то пропустил это или Вы нигде не указывали свою версию Дельфи, на которой работаете?
И, кстати, кнопки всегда этим отличались: цвет шрифта на них произвольно менять нельзя, поэтому, чтобы голову не греть, если нужна кнопка с цветными буквами - возьмите компонент BitButton. Ну а так конечно странная ситуация... Может, тестовый пример сделаете, где бы это поведение можно было увидеть наглядно, и этот минимальный проект сюда выставите?
0
|
|
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
||
| 07.02.2019, 08:10 | ||
|
Для лейблов смена цвета точно работать должна работать, неоднократно таким баловался. Хотя вот менять цвет у лейбла с Enabled = false не приходилось.
0
|
||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
|||
| 07.02.2019, 09:04 [ТС] | |||
|
Эксперимент провел, на форме поставил Fort.color:=clred и на всех объектах наследование включил ParentFont:=true. всё раскрасилось кроме обычных кнопок. Что-то наверно с модулем или фиг знает с чем, ну то не суть, не важно, другие кнопки есть и ладно, но всё же странно, на этот глюк столько времени потратить которого нет. А вот если Enabled:=False поставить, то только серый цвет и тогда уже меняй, не меняй, ни на чем работать не будет. Так вот проблема с сквозным кликом осталась и пока не решилась. Может настройки есть какие для этого, но я не знаю. Пытаюсь как-то вызвать событие OnClick родителя, это бы реально помогло, но не пойму как это правильно записать. Компилятор вредный собака, не хочет есть что дают! А дают типа sender.parent.OnClick, но что-то не так... Разбираюсь пока.Добавлено через 19 минут Странно, но на этом компе действительно не работал цвет текста ни на чём, у меня программно было введено. Вот загрузил чистую форму и потом обратно проект свой и лейблы засветились, ничего не делал. Фантастика блин. У меня делфи третьи сутки открыт, может заглючило что... Ну с кнопками да, другие возьму и всё.
0
|
|||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
|||
| 07.02.2019, 09:27 | |||
|
0
|
|||
|
Модератор
|
||
| 07.02.2019, 09:34 | ||
|
0
|
||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
||
| 07.02.2019, 09:49 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
|||||||
| 07.02.2019, 10:19 [ТС] | |||||||
|
Так вот всё работает пока не попадешь мышкой на метки которые частично закрывают "кнопки" и соответственно перехватывают на себя событие OnClick. Так вот надо у меток отобрать событие и перенаправить на "кнопку" которая под меткой соответственно. Метки припаренчены к "кнопкам". Пример реальный приводить не могу, полностью привести я весь форум засру, а урывками непонятно получается где какой тип и так далее. ButMas[X,Y].LaMaxLoad.Parent:=ButMas[X,Y].But; ButMas[X,Y].LaMaxLoad это TLabel ButMas[X,Y].But это TPanel Хотя это вообще не важно, нужно просто клик передать родителю и всё. Я уже верчу-верчу эти обращения всякие, но оно то не компилируется или ошибку выдаёт потом. Мне кажется я вообще не то пишу.
Добавлено через 6 минут D1973, Если б всё так просто,.. нет никаких инспекторов. Всё динамическое.
0
|
|||||||
|
Модератор
|
|||
| 07.02.2019, 10:26 | |||
|
0
|
|||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
||
| 07.02.2019, 10:30 | ||
|
0
|
||
|
Модератор
|
|||||||
| 07.02.2019, 10:54 | |||||||
Сообщение было отмечено klass2323 как решение
Решение
1
|
|||||||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
||||||||||||
| 07.02.2019, 10:58 [ТС] | ||||||||||||
|
Дело в том что в процедуре панели там тоже всё через ж... как у меня обычно. ![]()
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
||
| 07.02.2019, 11:03 [ТС] | ||
|
Обратите внимание что с типом TButton компилируется событие, а с панелью нет, там выше писал. И это засада блин, непонятная причём.
0
|
||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
||
| 07.02.2019, 11:12 [ТС] | ||
|
Сейчас ещё с вашим примером разбираюсь, перевариваю.
0
|
||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
||
| 07.02.2019, 11:52 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
|||||||
| 07.02.2019, 11:52 [ТС] | |||||||
|
В процедуру существующую добавил одну строчку и прописал эту же процедуру и в метки и заработало! ![]()
![]() А мне выговор за тупость и работу над ошибками! ![]()
0
|
|||||||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
|||||||
| 07.02.2019, 12:14 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 60
|
||||||||
| 07.02.2019, 12:28 [ТС] | ||||||||
![]() Кстати это так и не работает и хоть крути, хоть верти. Не, мне уже не надо и не заморачивайтесь если нет личного принципиального или профессионального интереса. Я научился подменять сендера, но вызвать событие родителя нет. Если бы они были одного типа, то засада получилась бы наверно...
0
|
||||||||
|
|
||||
| 07.02.2019, 12:29 | ||||
![]() Добавлено через 48 секунд
0
|
||||
| 07.02.2019, 12:29 | |
|
Помогаю со студенческими работами здесь
60
Выразить одну переменную через другую
Доступ к свойству объекта через переменную Вызов объекта через строковую переменную Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|