|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||||||
Изменение положения и размера N-го количества компонентов06.05.2015, 17:04. Показов 1853. Ответов 13
Метки нет (Все метки)
Как всегда не уверен в названии темы
Доброго вечера. Интересует следующий вопрос относительно компонента TPanel. Имеется FormX, на FormX расположены компоненты Panel (в кол-ве 20-30шт), имеется возможность изменения размеров и положения компонента Panel1 (спойлер). Вопрос: Можно ли, создать не знаю класс или еще чего, который будет охватывать все компоненты TPanel на FormX, при событии ,если Btn1,2,3....Btn30Click (PanelX=ButtonX,PanelY=ButtonY). Пожалуйста :намекните,подтолкните,столкните,подкинь те,посоветуйте ... etc. Кликните здесь для просмотра всего текста
Всем вошедшим в тему добра, всем откликнувшимся в ней спасибо
0
|
||||||
| 06.05.2015, 17:04 | |
|
Ответы с готовыми решениями:
13
Изменение размера компонентов без выхода за границы формы
|
|
Супер-модератор
|
|
| 06.05.2015, 18:27 | |
|
При чем тут Panel? Тебе нужен либо перехватчик TButton (аналогичный TStringGrid-овому, который был в прошлом сообщении, но для него надо переопределить метод Click, и по этому самому клику просто менять позицию соответствующей панели), либо написать обработчик нажатия для одной кнопки, и скопировать его во все остальные.
0
|
|
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||
| 06.05.2015, 18:45 [ТС] | ||
|
Просто я не совсем понимаю( недостаток знаний) к чему это приведет в моем случае
0
|
||
|
Супер-модератор
|
|||||||||||
| 06.05.2015, 18:56 | |||||||||||
|
А, вон тебе чего надо. Перехватчики творят чудеса. Смотри:
Перед классом формы:
Можешь проверять любые чекбоксы, где нужно...
0
|
|||||||||||
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||
| 06.05.2015, 19:12 [ТС] | ||
|
Кликните здесь для просмотра всего текста
[C++ Error] Unit1.h(20): E2316 'Uitypes' is not a member of 'System'
[C++ Error] Unit1.h(20): E2293 ) expected [C++ Error] Unit1.h(66): E2316 'ActivePanel' is not a member of 'TPanel' [C++ Error] Unit1.cpp(20): E2451 Undefined symbol 'ActivePanel' [C++ Error] Unit1.cpp(21): E2451 Undefined symbol 'ActivePanel' [C++ Error] Unit1.cpp(22): E2451 Undefined symbol 'ActivePanel' [C++ Error] Unit1.cpp(23): E2451 Undefined symbol 'ActivePanel' В чем уже мой косяк? =\ Инклюды?
0
|
||
|
Супер-модератор
|
|
| 06.05.2015, 19:18 | |
|
Это не твой косяк, а косяк твоего Билдера. Я делал в XE2, для более старых надо убрать все лишние System::Uitypes:: и System::Classes::
А вот с ActivePanel - не понял. Как это "не определен"? Он же описан: статическое поле класса, чего ему не нравится?
0
|
|
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
|||
| 06.05.2015, 19:35 [ТС] | |||
Кликните здесь для просмотра всего текста
[C++ Warning] Unit1.h(65): W8022 '_fastcall TPanel::MouseDown(TObject *,TMouseButton,TShiftState,int,int)' hides virtual function '_fastcall TControl::MouseDown(TMouseButton,TShiftS tate,int,int)'
[C++ Warning] Unit1.h(65): W8022 '_fastcall TPanel::MouseMove(TObject *,TShiftState,int,int)' hides virtual function '_fastcall TControl::MouseMove(TShiftState,int,int) ' [C++ Warning] Unit1.h(65): W8022 '_fastcall TPanel::MouseUp(TObject *,TMouseButton,TShiftState,int,int)' hides virtual function '_fastcall TControl::MouseUp(TMouseButton,TShiftSta te,int,int)' Добавлено через 10 минут Размер-работает, Буксировка -нет, чтот я не так в класс вставил
0
|
|||
|
Супер-модератор
|
|
| 06.05.2015, 19:45 | |
Сообщение было отмечено Access12 как решение
Решение
Разумеется... У тебя где-то типы не совпадают, как результат не отрабатывает перегруженный метод, его прототип должен совпадать идеально с прототипом базового метода. Просто открой Controls.hpp, и посмотри, какие параметры в этих трех проблемных методах используются. И точно те же самые запиши себе, как только hides virtual function уйдет - работоспособность восстановится...
Добавлено через 1 минуту Стоп. Откуда у тебя TObject первым параметром взялся?
1
|
|
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||
| 06.05.2015, 19:49 [ТС] | ||
|
Благодарю за оказанную помощь с вопросом ![]() Не по теме Можно ли уменьшить размер рамки при изменении размера панели?
0
|
||
|
Супер-модератор
|
|||||||||||
| 07.05.2015, 13:20 | |||||||||||
Сообщение было отмечено Access12 как решение
Решение
Access12, по поводу просьбы о добавлении двух CheckBox-ов, один из которых разрешает перетаскивание панели, второй - изменение ее размеров, я бы сделал их вообще членом класса MyPanel::TPanel, вот так:
1
|
|||||||||||
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
|
| 07.05.2015, 13:34 [ТС] | |
|
0
|
|
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||||||
| 07.05.2015, 14:12 [ТС] | ||||||
|
И как всегда, ответ на вопрос, порождает несколько новых)))
Пытаюсь обратиться ко всем cbxAllowResize и cbxAllowMove, дабы при нажатии на кнопку ( в моем случае пункт меню), CheckBox'ы стали видимыми (в классе поставил значения для обоих вариантов Visible = false) А вот как теперь показать,не знаю
![]() Хелп Добрый людь
0
|
||||||
|
Супер-модератор
|
||||||
| 07.05.2015, 14:23 | ||||||
Сообщение было отмечено Access12 как решение
Решение
Надо искать панели, и на них уже показывать чекбоксы:
1
|
||||||
|
19 / 19 / 4
Регистрация: 28.04.2013
Сообщений: 139
|
||
| 07.05.2015, 14:27 [ТС] | ||
|
Спасибо
0
|
||
| 07.05.2015, 14:27 | |
|
Помогаю со студенческими работами здесь
14
Изменение размера\положения кнопок при resize формы
Изменение размера компонентов Swing Изменение размера видимых компонентов Растяжение окна формы и изменение размера компонентов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|