Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
Спасибо, ребята! Осталась одна проблема как мне присвоить это только одной панели - суть такая - пытаюсь сделать такое выпадающую панель как чекбокс жмем кнопку под ней выпадает панель с полями в полях пишем-пишем-пишем а потом уходим с панели и она прячется...
19-09-2005 12:11 | Комментарий к предыдущим ответам
to Антон Григорьев:
Если подходить строго, то что такое Визуальное проектирование и DFM? Это удобный способ задания начальных значений свойств объектов с последующей автоматической инициализацией. И ничего больше. И абсолютно неважно, что думает IDE. Главное -- что получается в результате. Важным является только то, что получается в результате компиляции.
А то получается, что изменение имен параметров в автоматически созданных заготовках методов также является нарушением, потому что мы переписываем то, что создает IDE :-)
Скромно замечу, что использую такой прием очень давно (Delphi-1, Delphi-6 и немного Delphi-3). Много было глюков, обусловленных несовместимостью версий, но ни разу не было глюков, обусловленных использованием данного приема.
19-09-2005 10:43 | Комментарий к предыдущим ответам
Geo:
Ну почему же сразу шаманизм? Использование одинаковых идентификаторов в разных модулях с вызовом через <имя модуля>.<идентификатор> стнтаксисовм допускается.
Да я не о синтаксисе. Просто получается, среда в design-time думает, что у вас TExtCtrls.Panel, а в run-time вы нагло её обманываете, подсовывая свой класс. Вроде как всё должно работать, но как-то это всё сомнительно...
По случаю вспоминается цитата из незабываемого SOFTMARE: "Всемиpно известная фиpма Bormann International пpедставила свой новый пpодукт Bormann D-- (v. 7.40). В этом языке концепция объектно-оpиентиpованного пpогpаммиpования, заложенная в С++, получила дальнейшее pазвитие. Так, помимо аппаpата наследования, pеализованы аппаpаты пpодажи, даpения и пpоигpыша в каpты. Пpавда, в pяде случаев это пpиводит к сомнительным махинациям внутpи пpогpаммных сpедств, но пpедставитель фиpмы фон Штиpлиц завеpил, что они легко устаняются утилитой хCоp."
19-09-2005 09:33 | Комментарий к предыдущим ответам
to Антон Григорьев:
Ну почему же сразу шаманизм? Использование одинаковых идентификаторов в разных модулях с вызовом через <имя модуля>.<идентификатор> стнтаксисовм допускается. Таким образом, я сознательно использую визуальную среду для задания значений свойств, общих и для стандартного компонента, и для моего компонента. А значения уникальных свойств задаю в run-time.
Мой любимый прием: в модуле, где собираешься использовать прописываешь:
type
TPanel = class(ExtCtrls.TPanel)
private
...
Далее все как в примере у Ins.
Преимущество такого подхода: мы можем использовать панель в design-time без регистрации ее в палитре компонент. В design-time у нас будет обычная TPanel, а во время исполнения -- модифицированные вариант.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.