Перейти к содержанию
Fire Monkey от А до Я

dnekrasov

Пользователи
  • Постов

    317
  • Зарегистрирован

  • Посещение

  • Победитель дней

    52

Ответы сообщества

  1. Пост dnekrasov - сообщение в Помогите начать работу с Oracle был отмечен как ответ   
    Для того, чтобы это работало нужна FireDACOracleDriver25(6)0.bpl. Не факт что она идёт вместе с Trial (в Community её точно нет).
  2. Пост dnekrasov - сообщение в Error: E0776 error: exportArchive: No 'teamID' specified and no team ID found in the archive был отмечен как ответ   
    c:\Program Files (x86)\Embarcadero\Studio\20.0\bin\CodeGear.Deployment.Targets - в нём найдите параметр NotarizeAppAdditionalParams В нём пропишите NotarizeAppAdditionalParams="-itc_provider [TeamID]" TeamID можно узнать здесь https://developer.apple.com/account/#/welcome
  3. Пост dnekrasov - сообщение в как найти и удалить компонент на TabItem был отмечен как ответ   
    Вы используете LyContent.AddObject а этот метод добавляет только в LyContent.Children. Для того, чтобы добавить в LyContent.Components надо создавать фрейм с AOwner = LyContent или использовать LyContent.InsertComponent. 
    А вообще - не надо заморачиваться с Components. Управляйте отображением фреймов с помощью Parent, а за временем жизни пусть следит Ваш TFramesFactory
  4. Пост dnekrasov - сообщение в TImageList  в  TImage был отмечен как ответ   
    ImageList1.Bitmap(Size, Index). Для уточнения - читайте Help. Не знаете английский - изучайте или словарём пользуйтесь (заодно и учитесь Help-ом пользоваться). Ещё раз повторюсь - здесь не кружок "юный Delphi-программист"
  5. Пост dnekrasov - сообщение в MetropolisUIListBoxItem в List box был отмечен как ответ   
    Я имел ввиду FMX-стиль (тот, который в StyleBook загружается). Привыкайте, что если хотите изменить внешний вид контрола, то надо менять его в стиле.
    Начёт MetropolisUIListBoxItem. За Title и Description отвечает элемент стиля с названием griditemtitlelabel. За SubTitle - griditemsubtitlelabel. Открываете Style Designer и меняете TextSettings для этих элементов.

  6. Пост dnekrasov - сообщение в Создание ссылки из TLabel. был отмечен как ответ   
    Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.Style];
      Label1.TextSettings.Font.Style := Label1.TextSettings.Font.Style + [TFontStyle.fsUnderline]
  7. Пост dnekrasov - сообщение в Перехват сообщений в Windows был отмечен как ответ   
    Делаем как обычно, если надо переопределить какое-то событие окна
    interface uses {$IFDEF MSWINDOWS} Winapi.Windows, Winapi.Messages, FMX.Platform.Win, {$ENDIF} System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; type TMainForm = class(TForm) private procedure CreateHandle; override; {$IFDEF MSWINDOWS} procedure WMIMENotify(var Msg: TMessage); message WM_IME_NOTIFY; {$ENDIF} public end; var MainForm: TMainForm; implementation {$R *.fmx} {$IFDEF MSWINDOWS} var OldWndProc: Pointer = nil; function NewWndProc(Wnd: HWND; Msg: UINT; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall; var Mess : TMessage; begin case Msg of WM_IME_NOTIFY: begin Mess.Msg := Msg; Mess.WParam := wParam; Mess.lParam := lParam; Mess.Result := 0; MainForm.Dispatch(Mess); Result := Mess.Result; end; else Result := CallWindowProc(OldWndProc, Wnd, Msg, WParam, LParam); end; end; {$ENDIF} { TMainForm } procedure TMainForm.CreateHandle; begin inherited CreateHandle; {$IFDEF MSWINDOWS} OldWndProc:= Pointer(SetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_WNDPROC, Integer(@NewWndProc))); {$ENDIF} end; {$IFDEF MSWINDOWS} procedure TMainForm.WMIMENotify(var Msg: TMessage); begin {что-то делаем} end; {$ENDIF}  
  8. Пост dnekrasov - сообщение в Замена стандартного курсора формы на кастомное изображение был отмечен как ответ   
    Ещё как работает, во всяком случае под винду. Но именно курсора (cur) а не изображения (bmp).
    CustomCursor.zip
  9. Пост dnekrasov - сообщение в Изменение размеров с помощью DrawBitmap был отмечен как ответ   
    Чёт я совсем не понял что Вы делаете в Вашем примере. Зачем использовать маски при сдвиге и совмещении. Просто берёте нужный кусок битмапки (srcRect) и рисуете его там где Вам нужно (dstRect). Если размеры srcRect и dstRect не будут совпадать, то будет еще и масштабирование.
  10. Пост dnekrasov - сообщение в FMX Form был отмечен как ответ   
    Не за что.
    Маленькое уточнение - это хорошо работает только если один монитор. Вообще правильнее эмулировать максимизацию окна следующим образом:
    SetBounds(Screen.DisplayFromRect(Bounds).WorkAreaRect);  
  11. Пост dnekrasov - сообщение в Как в DBChart добавить цвета RGB? был отмечен как ответ   
    Вы передаёте цвет с прозрачностью 0. Попробуйте сделать так:
    Add(R1, 'Раздел 1', $FF000000 or rgb(49, 47, 138));
  12. Пост dnekrasov - сообщение в Как изменить стиль Grid? был отмечен как ответ   
    За скролы отвечают scrollbarhtrackstyle, scrollbarvtrackstyle, scrollbarbottombutton, scrollbarleftbutton, scrollbarrightbutton и scrollbartopbutton. 
    За Header - headeritemstyle
  13. Пост dnekrasov - сообщение в Как стилизовать Border окна ? был отмечен как ответ   
    В стиле создать "windowborderstyle"
  14. Пост dnekrasov - сообщение в Помогите разобраться Delphi X7 был отмечен как ответ   
    А что мешает в буферной битмапке хранить точную копию исходной, а в DrawBitmap указывать нужные SrcRect и DestRect? По-моему Вы зациклились на необходимости использования CopyFromBitmap, а здесь она и не нужна вовсе (ИМХО) .
  15. Пост dnekrasov - сообщение в Искажения текста на Canvas под Windows XP был отмечен как ответ   
    Попробуйте в файле проекта добавить GlobalUseGDIPlusClearType := False
  16. Пост dnekrasov - сообщение в Как узнать номер нажатой строки в memo delphi fmx? был отмечен как ответ   
    TCustomMemo.CaretPosition.Line
  17. Пост dnekrasov - сообщение в Как использовать CopyFromBitmap был отмечен как ответ   
    Маленький примерчик
     
    CopyFromBitmap.zip
  18. Пост dnekrasov - сообщение в Дизайнер отрывает фрейм как форму был отмечен как ответ   
    Возникла та же проблема. Решение довольно простое. Первый наследник от TFrame должен обязательно идти с визуальной частью (*.fmx). В последующих наследниках всегда наследовать не только класс фрейма, но и сам фрейм (перейти в текстовое отображение фрейма и в самом начале вместо object написать inhereted. Ну или просто создавать через File->New->Other...| DelphiProjects->Inheritable Items->[Ваш фрейм]). У меня сейчас в проекте доходит до 6-ти уровней наследования фреймов и все отрабатывает на ура. Единственная проблема как была во всех версиях дельфи так и осталась: при открытии фрейма в дизайнере должны быть открыты все его предки
  19. Пост dnekrasov - сообщение в Не работает редактор стилей был отмечен как ответ   
    Судя по скриншоту - вы просто не видите куда и что добавлять. Откройте Wiew->Structure (Shift+Alt+F11) и работайте со стилем через него
  20. Пост dnekrasov - сообщение в GlowEffect на кнопке был отмечен как ответ   
    Зачем? Ведь стиль для того и создается, чтобы не заморачиваться над UI. 
    В редакторе стилей у GlowEffect поставить Enabled=False и в триггере выбрать IsPressed=True - и наслаждайтесь
  21. Пост dnekrasov - сообщение в Как узнать позицию каретки (номер строки и позиции символа в строке)? был отмечен как ответ   
    TCustomMemo.CaretPosition
  22. Пост dnekrasov - сообщение в Глобальный Hook в OSX был отмечен как ответ   
    Пока нашел только такой выход:
      Создаю инсталляшку с помошью Packages (http://s.sudre.free.fr/Software/Packages/about.html)
      При завершении установки выполняю скрипт
    #!/bin/sh touch /private/var/db/.AccessibilityAPIEnabled && sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" "INSERT or REPLACE INTO access (service, client, client_type, allowed, prompt_count) VALUES ('kTCCServiceAccessibility', 'com.CompanyName.AppName', 0, 1, 0);" После этого все работает!
  23. Пост dnekrasov - сообщение в Системная информация в OSX был отмечен как ответ   
    function GetHDDSerialID: String; Const   kIOPlatformSerialNumberKey = 'IOPlatformSerialNumber'; var   PlatformExpert: io_service_t;   M: CFMutableDictionaryRef;   CFTR: CFTypeRef;   pac: PAnsiChar; begin   M := IOServiceMatching('IOPlatformExpertDevice');   PlatformExpert := IOServiceGetMatchingService(kIOMasterPortDefault, CFDictionaryRef(M));   try     CFTR := IORegistryEntryCreateCFProperty(PlatformExpert,       CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0);     pac := CFStringGetCStringPtr(CFTR, 0);     Result := String(AnsiString(pac));   finally     IOObjectRelease(PlatformExpert);   end; end;
  24. Пост dnekrasov - сообщение в Несколько окон приложения в панели задач был отмечен как ответ   
    Приложение убрано из панели задач
    Свойства формы:
    BorderStyle = None
    Transparency = True
     
    Немного поэкспериментировав нашел лучший способ: ... TMyForm = class(TForm) ... protected procedure CreateHandle; override; ... end; ... procedure TMyForm.CreateHandle; begin inherited CreateHandle; SetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE, GetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE) or WS_EX_APPWINDOW); end; ... end. Этот код вставлять нужно в каждой форме, которую Вы хотите отобразить на панели задач
×
×
  • Создать...