POV
-
Постов
307 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Сообщения, опубликованные POV
-
-
Где-то что-то или кто-то запуталось.. Вот смотрю свой проект с фреймами динамически создаваемыми - все компоненты, что были накиданы на фреймы при проектировании, я прекрасно вижу.
-
Тогда кнопка должна быть видна и так..
-
Небось XE8 используешь? Пробуй XE7
-
Вместо ожидаемой "просвечиваемости" пустых участков слоя, рисуется тупо черный прямоугольник, скрывающий всё что за ним в координате Z. Компоненты на слое, конечно, рисуются как надо. А между ними - тьма ((
Причем это не всегда так - вот начинаю накидывать компоненты на пустую форму и всё хорошо. А в какой-то момент всё становится как я описал выше. И потом уже ничего не помогает.
Или вдруг щелком при работе с чем-то посторонним оно начинает работать как надо. Вот сейчас я бросил ещё один слой и конечно он загораживал. Потыркался по его свойствам, снял галочку "VisibleContextMenu" и сразу все (!) слои стали просвечиваться как я и хотел.
-
Уточнил, это динамически созданному фрейму приходится ручками вызывать Repaint. И конечно лишь после того, как форма станет видимой.
С чего бы?
-
-
Сходные вопросы тут уже поднимались, но их обсуждение ответа мне не дало.
Вот форма (панель или еще-что) в пределах которого я хочу перехватить движение мышкой влево или вправо. Всё конечно же работает если выставить у компонентов HitTest в false.
Но на кнопку-то (checkbox, radiobutton и всё что угодно кроме label)ставить такое нельзя! Хочется и иметь возможность "пролистнуть" содержимое формы и, если я не пролистываю, а "тыкаю" - получить реакцию на нажатие кнопки.
Платформа - Win.
-
В общем мой косяк. Viewport3D работает как надо, просто компонент не совсем удобен при использовании камеры и установленном свойстве Projection = camera. Но в целом всё получилось
-
Спасибо за помощь..
ПыСы
1) Касаясь OnMove формы вопрос частый - люди пытаются делать "прилипающие" окошки как в winamp.
3) Может я чего не так делал, но OnChange случается лишь при потере фокуса контрола. Та же ерунда с Едитом, пришлось вопреки привычке использовать OnChangeTracking
если не сложно, то не посмотрите вон ту старую мою тему? ...там я так и не смог ничего сделать.
http://fire-monkey.ru/topic/1116-kmmeru-iz-freima-peredat-glavnoi-forme/
-
Всё, сообразил
void __fastcall TfrmMain::SetBounds(int ALeft, int ATop, int AWidth, int AHeight) { TForm3D::SetBounds(ALeft, ATop, AWidth, AHeight);
И вот тогда уж вопросы отвлеченные чтобы тему не создавать:
1) за годы пользования делфями народ наводнил инет вопросом о событии перемещения формы. Отчего этот event в новой библиотеке ввести не захотели?
2) чекбокс и радиобаттон по событию онклик имеют пока ещё не изменённое состояние. В отличие от VCL. Это сознательно сделано или недоработка?
-
Ну как код.. предельно тупой код ))
void __fastcall TfrmMain::SetBounds(int ALeft, int ATop, int AWidth, int AHeight) { // Left = ALeft; // Top = ATop; // Width = AWidth; // Height = AHeight; Caption = ALeft; }
Это неверно? (я имею в виду закомменченые присваивания)
-
Мммм.. сделал я
virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
Этот метод действительно вызывается. Но значения координат и размеры не присваиваются никуда. В этом методе присвоить нельзя - оно начинается вызываться бесконечно.. как быть чтобы не по-колхозному?
-
Для VCL примеров полно, но тут никакой реакции на повторение этих примеров нет.
Примеры вот такого типа
BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_MOVING, System::Messaging::TMessage, OnMove) END_MESSAGE_MAP(TForm) MESSAGE void __fastcall OnMove(System::Messaging::TMessage &Message);
Может оно как-то принципиально не так в FMX делается?
-
Ни один эмулятор включая и гугловский (3 штуки попробовал - по одному от среды разработки и Genymotion) не открывает приложение. Дескать "приложение не поддерживается".. да, скомпиленный в ХЕ7 также не работает.
Перепробовал задавать разные платформы и всё такое - бестолку.
Реального устройства под рукой не оказалось, разбил смарт ((
-
-
Не работает как надо.. можно сказать что не работает совсем.
-
В 3Дэ приложении разместил слой. На нём панель на которую динамически кладу фрейм.
Во фрейме есть Viewport3D и Camera. Так вот никаким образом эта камера не используется приложением.
Есть решение?
Я как-то предполагал что если есть Viewport3D, то "внутри" этого прямоугольника может использоваться камера если она есть. Однако никаким способом не смог это сделать.. Да, само приложение тоже 3Дэ если это важно.
-
У меня XE7 SP1 - текстур нет. Это еще не тот апдейт?
-
Я так понял, что у тебя готовые картинки в стиле?
А если заменить на отрисовку примитивов?
Ранее под VCL так и было (до перехода на GDI+).. всякие кнопки и т.п. с градиентными заливками отрисовываются. Но не гибко, качественно отрендеренные картинки красивее. Потому и был переход к GDI+ чтобы иметь сглаженное масштабирование. А тут к удивлению не увидел ничего такого.
Во вложени моя прога с моими же VCL компонентами на GDI+. Всё сглажено, красиво.. Хотелось бы то же самое иметь для FireMonkey.
-
-
Сделал стиль для чекбокс и радиобаттон с возможность масштабирования. Ранее для VCL я такое делал в виде компонентов, где включал сглаживание и масштабирование растров силами GDI+, а тут-то как быть? Некрасиво выходит (на картинке средние компоненты 100х100 исходного размера растра).
Есть ли в столь мощной штуке как Firemonkey что-то типа Smoothing?
Да, Quality->HighQuality никак не влияет на изображения компонентов.
Отрисовка скрытых контролов
в Прочие вопросы
Опубликовано · Изменено пользователем POV
Я конечно только предположил, но столкнулся что начиная с 8й версии косячно отрисовывает. И вот как оно проявляется
http://fire-monkey.ru/topic/1210-effekt-teni/
А когда я крутну сцену, всё перерисуется заново, только тогда становится как надо.