-
Постов
394 -
Зарегистрирован
-
Посещение
-
Победитель дней
45
Ответы сообщества
-
Пост AngryOwl - сообщение в У меня некачественно отображаются контролы в TLayer3D был отмечен как ответ
Рискну предположить, что Вам вряд-ли кто-то мог подсказать, если сам с подобным не сталкивался.
Ну вот я сталкивался, но не с таким, а подобным, и не стал ничего писать дабы не вводить в заблуждение...
Однако, после Вашего второго коммента я вспомнил про "системы" и т.п.
"это зависит от системы или от видеокарты?"
От системы! А если точнее - от версии DirectX или GDI+.
И это наблюдается именно в XP. Хотя и там, если я правильно помню, можно поправить положение путем манипуляций с параметрами приложения.
В коде проекта надо типа такого:
begin GlobalUseDX10 := False; GlobalUseDX10Software := True; Application.Initialize; Application.CreateForm(TfmMain, fmMain); Application.Run; end. но тут многое зависит от того - чего Вы хотите от приложения. Качества? Скорости? Стабильности? Гарантии работы везде?
Тогда комбинируйте. Если в этом есть необходимость...
Но я бы оставил как есть.
P.S. Не хочу никоим образом обидеть "обладателей" XP ), но она уже "пережиток" и отходит... И я бы не стал делать на ней упор. Хотя ее поддержка нужна однозначно!
-
Пост AngryOwl - сообщение в [Windows] Как сделать PrintScreen другого приложения? был отмечен как ответ
Ну как простой вариант - посмотрите http://stackoverflow.com/questions/10303256/how-to-take-a-screenshot-with-firemonkey-multi-platforms
Там, конечно, староватое решение (для более ранней версии XE), но в принципе - должно все работать.
Вам только нужно получать не хэндлы рабочего стола, а нужных Вам приложений.
Может кто-то подскажет более правильное решение.
-
Пост AngryOwl - сообщение в Как задать форме размер больше размера экрана? был отмечен как ответ
Добрый!
Без проблем!
Если форма будет иметь следующие свойства (пишу только измененные по умолчанию):
Border.Styling = False BorderStyle = None то форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать".
Жесты обрабатываются нормально, но для этого нужно:
расположить на форме любой "контейнер" (TPanel например), задать ему свойство Align = Contents, Установите HitTest = True. Все элементы расположите на "контейнере". В нашем приложении Sphere Live при отключенных рамках (в настройках можно включить/отключить стандартные рамки окна) мы так и делаем.
(кстати в нашем приложении работает именно тот пример, который Вы и описали, в случае полноэкранного)
P.S. Вам ведь не нужны рамки формы? Т.к. Вы хотите размеры формы больше размеров экрана... При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике OnMouseDown просписано StartWindowDrag;)
-
Пост AngryOwl - сообщение в [Windows] Как загрузить HBITMAP в TBitmap ? был отмечен как ответ
Вам требуется, в первую очередь, подключить модули для возможности использования HBITMAP
uses ... {$IFDEF MSWINDOWS} Vcl.Graphics, {$ENDIF} ... Далее, предположим, у Вас есть изображение tmpBmp - в формате Vcl.Graphics.TBitmap (для примера - я его гружу из файла. Это как-раз тот формат, о котором идет речь в Вашем вопросе)
Ну и далее все действия Вам должны быть понятны..
var tmpBmp : Vcl.Graphics.TBitmap; tmpStream : TMemoryStream; begin tmpBmp := Vcl.Graphics.TBitmap.Create; try tmpBmp.LoadFromFile('d:/index_cr.bmp'); tmpStream := TMemoryStream.Create; tmpBmp.SaveToStream(tmpStream); Image1.Bitmap.LoadFromStream(tmpStream); finally tmpBmp.Free; tmpStream.Free; end; end; Думаю, что все достаточно просто и понятно написал
P.S. все написано "на коленке" и за пару минут, так-что сорри, что не учитывал все "нюансы".
Собственно FMX сделает за вас всю работу по преобразованию...