-
Постов
317 -
Зарегистрирован
-
Посещение
-
Победитель дней
52
Ответы сообщества
-
Пост dnekrasov - сообщение в Помогите начать работу с Oracle был отмечен как ответ
Для того, чтобы это работало нужна FireDACOracleDriver25(6)0.bpl. Не факт что она идёт вместе с Trial (в Community её точно нет).
-
Пост 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 -
Пост dnekrasov - сообщение в как найти и удалить компонент на TabItem был отмечен как ответ
Вы используете LyContent.AddObject а этот метод добавляет только в LyContent.Children. Для того, чтобы добавить в LyContent.Components надо создавать фрейм с AOwner = LyContent или использовать LyContent.InsertComponent.
А вообще - не надо заморачиваться с Components. Управляйте отображением фреймов с помощью Parent, а за временем жизни пусть следит Ваш TFramesFactory
-
Пост dnekrasov - сообщение в TImageList в TImage был отмечен как ответ
ImageList1.Bitmap(Size, Index). Для уточнения - читайте Help. Не знаете английский - изучайте или словарём пользуйтесь (заодно и учитесь Help-ом пользоваться). Ещё раз повторюсь - здесь не кружок "юный Delphi-программист"
-
Пост dnekrasov - сообщение в MetropolisUIListBoxItem в List box был отмечен как ответ
Я имел ввиду FMX-стиль (тот, который в StyleBook загружается). Привыкайте, что если хотите изменить внешний вид контрола, то надо менять его в стиле.
Начёт MetropolisUIListBoxItem. За Title и Description отвечает элемент стиля с названием griditemtitlelabel. За SubTitle - griditemsubtitlelabel. Открываете Style Designer и меняете TextSettings для этих элементов.
-
Пост dnekrasov - сообщение в Создание ссылки из TLabel. был отмечен как ответ
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.Style];
Label1.TextSettings.Font.Style := Label1.TextSettings.Font.Style + [TFontStyle.fsUnderline]
-
Пост 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}
-
Пост dnekrasov - сообщение в Замена стандартного курсора формы на кастомное изображение был отмечен как ответ
Ещё как работает, во всяком случае под винду. Но именно курсора (cur) а не изображения (bmp).
CustomCursor.zip
-
Пост dnekrasov - сообщение в Изменение размеров с помощью DrawBitmap был отмечен как ответ
Чёт я совсем не понял что Вы делаете в Вашем примере. Зачем использовать маски при сдвиге и совмещении. Просто берёте нужный кусок битмапки (srcRect) и рисуете его там где Вам нужно (dstRect). Если размеры srcRect и dstRect не будут совпадать, то будет еще и масштабирование.
-
Пост dnekrasov - сообщение в Как в DBChart добавить цвета RGB? был отмечен как ответ
Вы передаёте цвет с прозрачностью 0. Попробуйте сделать так:
Add(R1, 'Раздел 1', $FF000000 or rgb(49, 47, 138)); -
Пост dnekrasov - сообщение в Как изменить стиль Grid? был отмечен как ответ
За скролы отвечают scrollbarhtrackstyle, scrollbarvtrackstyle, scrollbarbottombutton, scrollbarleftbutton, scrollbarrightbutton и scrollbartopbutton.
За Header - headeritemstyle
-
Пост dnekrasov - сообщение в Как стилизовать Border окна ? был отмечен как ответ
В стиле создать "windowborderstyle"
-
Пост dnekrasov - сообщение в Помогите разобраться Delphi X7 был отмечен как ответ
А что мешает в буферной битмапке хранить точную копию исходной, а в DrawBitmap указывать нужные SrcRect и DestRect? По-моему Вы зациклились на необходимости использования CopyFromBitmap, а здесь она и не нужна вовсе (ИМХО) .
-
Пост dnekrasov - сообщение в Искажения текста на Canvas под Windows XP был отмечен как ответ
Попробуйте в файле проекта добавить GlobalUseGDIPlusClearType := False
-
Пост dnekrasov - сообщение в Как узнать номер нажатой строки в memo delphi fmx? был отмечен как ответ
TCustomMemo.CaretPosition.Line
-
Пост dnekrasov - сообщение в Как использовать CopyFromBitmap был отмечен как ответ
Маленький примерчик
CopyFromBitmap.zip
-
Пост dnekrasov - сообщение в Дизайнер отрывает фрейм как форму был отмечен как ответ
Возникла та же проблема. Решение довольно простое. Первый наследник от TFrame должен обязательно идти с визуальной частью (*.fmx). В последующих наследниках всегда наследовать не только класс фрейма, но и сам фрейм (перейти в текстовое отображение фрейма и в самом начале вместо object написать inhereted. Ну или просто создавать через File->New->Other...| DelphiProjects->Inheritable Items->[Ваш фрейм]). У меня сейчас в проекте доходит до 6-ти уровней наследования фреймов и все отрабатывает на ура. Единственная проблема как была во всех версиях дельфи так и осталась: при открытии фрейма в дизайнере должны быть открыты все его предки
-
Пост dnekrasov - сообщение в Не работает редактор стилей был отмечен как ответ
Судя по скриншоту - вы просто не видите куда и что добавлять. Откройте Wiew->Structure (Shift+Alt+F11) и работайте со стилем через него
-
Пост dnekrasov - сообщение в GlowEffect на кнопке был отмечен как ответ
Зачем? Ведь стиль для того и создается, чтобы не заморачиваться над UI.
В редакторе стилей у GlowEffect поставить Enabled=False и в триггере выбрать IsPressed=True - и наслаждайтесь
-
Пост dnekrasov - сообщение в Как узнать позицию каретки (номер строки и позиции символа в строке)? был отмечен как ответ
TCustomMemo.CaretPosition
-
Пост 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);" После этого все работает!
-
Пост 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; -
Пост 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. Этот код вставлять нужно в каждой форме, которую Вы хотите отобразить на панели задач