elpik

Forum Replies Created

Viewing 20 posts - 21 through 40 (of 132 total)
  • Author
    Posts
  • elpik
    Participant

    Для такого, обычно, используют ViewStyle = vsReport

    В своих проектах постоянно юзаю sListView – никаких проблем не испытываю…

    in reply to: Неувязочка с AlphaHints #51211
    elpik
    Participant

    Попробуйте уменьшить высоту исходного PNG

    elpik
    Participant
    'Support' wrote:

    Насчет скриншота я не совсем понял, как он генерируется?

    При возникновении ошибки (если включена генерация скриншота), в обработчике выполняется следующий код:

    (jpg – хранится в папке лога)

    Code:
    procedure TExceptHandler.DoGenerateScreenshot(AName: string);
    var
    bmp: TBitmap;
    jpg: TJPEGImage;
    begin
    try
    bmp := Screen.ActiveForm.GetFormImage;
    jpg := TJPEGImage.Create;
    jpg.CompressionQuality := 100;
    jpg.Assign(bmp);
    jpg.SaveToFile(AName);
    finally
    FreeAndNil(jpg);
    FreeAndNil(bmp);
    end;
    end;

    Затем это все укладывается в письмо, и отсылается мне на мыло (если включена отправка)…

    тут нужные свойства TExceptHandler

    Code:
    ExHandler.isShowExceptions:= True; //вкл показ ошибок пользователю
    ExHandler.isShowAllFrames := True; //вкл показ сообщений через польз.-окно с раскрученным стеком
    ExHandler.isGenScreenShot := True; //вкл генерация скриншота
    ExHandler.isMailSend := True; //вкл отправка ошибок по мылу (требует настроек почтового сервера)
    ExHandler.MailHost := '…'; //хост почт. сервера
    ExHandler.MailPort := 25; //порт почт. сервера
    ExHandler.MailUsername := '…'; //логин почт. сервера
    ExHandler.MailPassword := '…'; //пароль почт. сервера
    ExHandler.MailAddress := '…'; //адрес (мыло) куда отправлять
    elpik
    Participant
    'Support' wrote:

    Не обязательно, но всегда желательно 🙂

    Реально демку сделать с незашкуренными контролами?

    Конечно, не вопрос. 🙂 Но придется JCL установить…

    PS: Обнаружил еще 1-ну особенность.. При генерации скриншота, кнопка и чекбокс не видны если включены скины… А если выключить видны 🙂

    in reply to: Собственная отрисовка в Title? #51165
    elpik
    Participant

    Вот тестовый пример:

    Правда с некоторыми скинами вылезают артефакты 🙂

    in reply to: Собственная отрисовка в Title? #51164
    elpik
    Participant
    'TCount' wrote:

    Вот как раз я и написал копмонент на основе прозрачного канваса, на котором рисуется текст. И думал его добавить в заголовок.

    по поводу собственной отрисовки заголовка формы:

    Code:
    procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
    inherited CreateParams(Params);
    Params.Style:=WS_POPUP or WS_SIZEBOX;
    end;

    procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    begin
    ReleaseCapture;
    Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
    end;

    случайно нашел на SQL.ru 🙂

    elpik
    Participant
    'Support' wrote:

    Если Tag = -1, то все отрицательные числа входят в это число и побитовая проверка на вхождение будет всегда равна True.

    То есть, нужно у этой кнопки Tag изменить на 0 или что-то другое.

    -1 в двоичном виде: 11111111

    поставил 8.50, похоже теперь без СкинПровайдера стандартные контролы не скинятся (TButton, TPanel, TLabel, TMemo);

    Пользовательское окно с ошибкой и раскрученным стеком без скин провайдера не закрасилось.

    Вопрос: теперь использование СкинПровайдера стало обязательным? 😉

    in reply to: Собственная отрисовка в Title? #51149
    elpik
    Participant
    'Support' wrote:

    Свойство TsTitleBar.ItemsSpacing задумывалось для этих целей, только еще почему-то не реализовано. :huh:

    По поводу плавности есть пара вопросов…

    Допустим взять текст, вычислить его ширину и длину в пикселях,

    создать по этим размерам битмап в памяти и нарисовать на нем текст.

    Затем этот битмап попиксельно прокручивать в прозрачном прямоугольнике над заголовком.

    Вопросы:

    1) Такое возможно средствами GDI, или для этого понадобится GDI+?

    2) Можно ли добавить такой компонент в палитру который будет прокручивать текст над прямоугольником контрола?

    in reply to: Собственная отрисовка в Title? #51126
    elpik
    Participant
    'TCount' wrote:

    Здравствуйте!

    Есть ли возможность программно отрисовывать что-нибудь в заголовке формы?

    Я хотел сделать бегущую строку (через Canvas) в заголовке формы, но не нашел способа.

    Как вариант предложу:

    1) создай отдельный поток с бесконечным циклом.

    2) в нем расчитай Rect – заголовка формы, и нужные координаты вывода текста.

    3) через WIN-API выводи текст в нужной позиции, с нужным интервалом.

    Там можно задать флаг не позволяющий рисовать за пределами Rect.

    И не забудь про вывод на канву через синхронизацию…

    elpik
    Participant
    'Dmitro25' wrote:

    Чтобы не быть голословным – вот снял скриншот модальной формы, которая появляется при нажатии кнопки “Show Form” основной формы программы, как он выглядит на моём компьютере. Кнопка “Ок” не скинируется.

    Если у Вас не так – может быть, дело в версии Windows? У меня Windows XP.

    PS: Проверил на виртуальной машине Windows 7. Тот же самый результат – скинирование кнопки отсутствует.

    Беру Ваш проект:

    Открываю в Delphi-7,

    Компилирую,

    Выполняю.

    PS: У меня D7/ASKIN-8.49/Win7-x64(корпоративная). На всякий случай, проверьте настройки Delphi, и переподключите Third party controls повторно.

    elpik
    Participant

    Ты бы хоть скрины показал, а то вообще непонятно что ты там мудришь 🙂

    elpik
    Participant

    Проверил ваш пример на D7 все нормально скинируется…

    elpik
    Participant
    'TCount' wrote:

    Смущает указание на то, что можно задавать прозрачные участки. В подсказках прозрачные участки вообще не работают, если использовать секции скинов.

    Набросай примерчик… что то не очень понял почему у тебя не выходит

    elpik
    Participant
    'TCount' wrote:

    Опять же, код большой, вырезать не получится…

    Вобщем, я пытался по-разному реализовать это дело. Я говорил про перерисовку панелей “волнообразно”, это устраняется путем добавления на формы

    SkinProvider'ов (я их не использовал). Но при этом возникли проблемы. Дело в том, что мои формы используют стиль рамки “bsnone” и я не использую скинирование форм и заголовков, у меня две отдельных панели заменяют это все. Прозрачность указывается в свойствах самой формы, поэтому углы получаются округлыми. Но прикол в том, что этот SkinProvider игнорирует мой цвет прозрачности и рисует какой-то белый фон. Я пробовал и в редакторе скинов делать секции формы и диалога прозрачными – все равно рисуется какой-то белый фон, что портит всю картину.

    В итоге пришлось отказаться от SkinProvider'a, что печально.

    Вобщем, я сделал смену скина так: окна скрываются, скин меняется (SkinManager1.SkinName:=…), и окна снова показываются. Это занимает примерно секунду на моем слабом компе, поэтому норм.

    Но вообще, действительно ли формы скинируются по отдельности? Вот если будет 5 форм (все показаны на экране), они же не смогут проскиниться все сразу, ведь так? А если еще включить анимацию при смене скина, то это будет прекрасно видно.

    SkinProvider – должен быть на каждой форме.

    Проверь, возможно у тебя включено свойство (sSkinManager-а) ExtendedBorders?

    И еще у каждого SkinProvider-а есть свойство DrawNonClientArea – выключи его

    elpik
    Participant
    'TCount' wrote:

    Здравствуйте! У меня как минимум на экране присутсвует 3 окна программы (рызные формы).

    Сделал смену скина, но скин меняется как-то “волнообразно”. То есть, снчала одна панель преображается, потом другая и т.д.

    Можно ли как-то сделать это более плавно? Например, как сначала все прорисовать, а потом сразу показать?

    Просто каждое окно по очереди скинется, получается какая-то цветомузыка)

    Покажи тестовый примерчик, может что не так делаешь?…

    elpik
    Participant
    'TCount' wrote:

    [attachment=6520:Image 1.png]

    а в что не устраивает в описании?

    elpik
    Participant
    'Alex_F' wrote:

    Имеются проблемы с отображением кириллических шрифтов для Windows без установленного русского языка. Скрины приведены с отлюченной темой и со включенной. На “русской” Windows этих проблем нет. Все отображается правильно. Пробовал менять свойство Charset у Font – не помогает. Неправильно отображается заголовок у TsGroup.

    Версия AlphaSkins 7.60.

    Windows 7

    А делфи какой версии?

    может имеет смысл пересесть на Юникодную версию >= Delphi-2009?

    elpik
    Participant
    'TCount' wrote:

    Кода много…Вобщем, у меня при создании формы должны присваиваться Edit'aм отступы.

    Вот при создании формы я и отправлял им сообщения:

    SendMessage(sEdit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN, LPARAM(10));

    Отступы появлялись только при наведении на Edit или при отключении скина.

    Да посмотрел, у контрола своя отрисовка, пока он не в фокусе, и стандартная когда в фокусе.

    видать поэтому он игнорит EM_SETMARGINS в состоянии покоя…

    elpik
    Participant

    Покажи код, поглядим что можно сделать.

    in reply to: Glow-эффект на контроллах… #51039
    elpik
    Participant

    Посмотри как сделано в скине FM, или ты о другом?

Viewing 20 posts - 21 through 40 (of 132 total)