-
Похожий контент
-
От SIARHEI RAHOUSKI
При нажатии на Label действия не происходят
procedure TForm2.Label11Click(Sender: TObject);
begin
Button1.visible:= true;
{label7.Font.Style:= [];
label8.Font.Style := [];
label9.Font.Style := [];
//label11.Font.Style := [fsbold];
label10.Font.Style := []; }
GroupBox12.Visible := false;
GroupBox13.Visible := false;
GroupBox14.Visible := false;
GroupBox15.Visible := true;
GroupBox16.Visible := false;
end;
-
От zekelive
Добрый день, друзья. Подскажите, есть ли возможность в firemonkey открыть форму как представлено на картинке ниже? Если да, то подскажите в какую сторону копать. Спасибо.
-
От Andrew
Для проведения опытов на Delphi XE8 использовал два планшета Android:
- Lenovo TAB S8-50LC на базе процессора Intel Atom Z3745: http://www.ixbt.com/portopc/lenovo-tab-s8-50lc.shtml. На нем установлен Android версии 4.4.2. Подключил к USB и, как не странно, тестовая программка "Hello World!" успешно запустилась, хотя думал, что с процессором Intel вообще ничего не получится;
- Prestigio Multipad PMT5777_3G с процессором ARM MediaTek MT8382. На нем установлен Android 4.2.2.
Затем на форму красного цвета бросил зеленый TRectangle, присвоил Align значение Client, а также добавил желтую рамку с помощью свойства Stroke (Thinkness=10). Запустил на Prestigio - выглядит нормально, если не считать не дорисованных уголков (см. красные квадраты). Кстати, на Windows уголки рамки отображаются нормально.
MainForm.Top = 25 - видимо, смещение от статус-бара.
Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0:
------------------------------------------------------------------------------------------------------------------------------------
Поворачиваем планшеты на 90 градусов. На Prestigio все выглядит нормально:
На Lenovo произошло какое-то расстройство:
Как я понял, на Lenovo возникают проблемы с получением высоты статус-бара и размеров экрана при повороте планшета, но с чем это связано - непонятно. Возможно решение где-то в FMX.Platform.Android или глубже. По крайней мере там переменная FStatusBarHeight равна нулю.
На моем примере ниже можно получить правильные размеры и позицию для формы (в т.ч. с учетом статус-бара):
NativeWin := SharedActivity.getWindow;
if NativeWin <> nil then
begin
ContentRect := TJRect.Create;
DecorView := NativeWin.getDecorView;
DecorView.getWindowVisibleDisplayFrame(ContentRect);
end;
-
От chaplin.u@gmail.com
На таблетах форма очень растянута. Как можно задать максимальный размер для главной формы. Пусть по краям будут полосы.
-
От Ra72
Есть фрейм, на фрейме кнопка. Фрейм создается динамически. При нажатии на кнопку, осуществляем действие и уничтожаем фрейм. Приложение валится с AV на секции finally.
procedure TControl.Click; var LAction: TCustomAction; begin ... if Assigned(FOnClick) then FOnClick(Self); finally if ActionClient and (Action is TCustomAction) then TCustomAction(Action).ShortCutPressed := False; end; end; Как правильно уничтожить фрейм по нажатию на кнопку, которая на нем?
-
От notricky
На Android код, который работает исправно на Win вызывает ошибку "CalledFromWrongThreadException: Only the original thread that created a view hierarcy can touch its views"
Смысл таков, что я пытаюсь показать форму из треда, у которой BorderStyle=none (роли это не играет).
Решение в Андроиде заключается в том, чтобы пускать через runOnUiThread (то есть выполнять интерфейсные штуки в главном потоке). Как я понимаю, в firemonkey эту фичу должен выполнять Synchronize().
Тем не менее, ошибка возникает.
А при запуске в режиме дебага на андроид девайсе событие кнопки вообще не срабатывает иногда. А если срабатывает, то возникает описанное выше исключение.
Я собрал тестовый пример и в нем не сразу видна ошибка, тогда как получил я ее на рабочем проекте.
Цель: показать бизибокс на время бекграундных действий. Этот бизибокс у меня сначала был просто на каждой форме и я интерфейсно его вызывал, но теперь решил сделать отедльной формой (как и тоаст), но почему так происходит я не понял. Вы что скажете?
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TWorkThread = class(TThread) public procedure Execute; override; end; var Form1: TForm1; implementation {$R *.fmx} uses unit2; procedure TForm1.Button1Click(Sender: TObject); var t: TWorkThread; begin t := TWorkThread.Create(True); t.FreeOnTerminate := true; t.Start; end; { TWorkThread } procedure TWorkThread.Execute; begin inherited; Self.Synchronize(procedure begin Form2.Show; Form2.Top := Form1.Top; Form2.Left := Form1.Left; Form2.BringToFront; end); Terminate; end; end.
-
От chaplin.u@gmail.com
Поставил несколько TCheckBox на TListBox и на 4 инчевой мобилке очень плохо реагируют на нажатия пальцами. В лучшем случае требуется пару раз тапнуть а то и пять-шесть.
Причём пока никакого кода не вводил. По умолчанию у всех стоит HitTest = True.
-
От Ktulho
Чтобы использовать Drag and Drop, устанавливаю у компонента TListBoxItem свойство HitTest:= True.
Почему у этого компонента не срабатывает событие OnClick?
P.S. Win32, XE7.
-
От SergeyIT
Пожалуйста, развейте мои сомнения, люди добрые!
Не верю глазам своим. Сомневаюсь.
Неужели это правда, что работая в дизайнере в иерархии элементов формы Structure нельзя не только ничего переместить, но и уничтожить?
-
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
Ярослав,
Изменено пользователем Brovin YaroslavПо каким соображениям у форм отсутствуют события OnClick и OnDblClick?
Они бы очень даже не помешали, введите их со следующим апдейтом или в крайнем случае в XE7.
Поделиться сообщением
Ссылка на сообщение
Поделиться на другие сайты