FeLDMaRShaL

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 65 total)
  • Author
    Posts
  • in reply to: Рамка фокуса #51044
    FeLDMaRShaL
    Participant

    Как убрать эту рамку у отдельно взятого контрола – это понятно. Например, Ваш пример, или если для баттона нужно убрать то можно в событии онМаусДаун прописать сет фокус на какуюнибуть панель. Но впрограмме довольно много форм, и соответственно компонентов на них и интересует вопрос как это можно сделать централизованно. Т.е. В одном месте прописать, и это применилось во всем проекте и для ВСЕХ контролов. (Именно поэтому я предлагал это свойство запилить на сСкинМанагер… т.к. он в проекте один).

    п.с. еще раз посмотьрел на Ваш способ под другим углом, и придумал как его можно применить в моем проекте…

    Code:
    sSkinManager1.ButtonsOptions.ShowFocusRect := bRes;

    Это мы весим на событие активации скинманагера

    А цикл фор для чекбокса и радио баттона весим на создании форму-родителя…. у меня все фыормы проекта наследуются от моей униформы… такчто Ваш способ полностью подходит для моег ослучая… ОГРОМНОЕ спасибо 🙂

    in reply to: Error in 8.42 #50668
    FeLDMaRShaL
    Participant

    Повторно выкладываю тотже самый пример, за одним исключением, теперь в нем у скинменеджера отключено свойство “рисованные границы”, ошибки летят как по 1 кнопке, так и повторой. Для наблюдения ошибки нужно нажать на 1(2) кнопку, после чего развернуть появившуюся форму (если на 1 нажали), и поднести мышку к заголовку форму (ну поводить туда-сюда 🙂 ).

    Code:
    Call Stack Information:
    ———————————————————————————————————–
    |Address |Module |Unit |Class |Procedure/Method |Line |
    ———————————————————————————————————–
    |*Exception Thread: ID=3512; Priority=0; Class=; [Main] |
    |———————————————————————————————————|
    |004F34E7|Project2.exe| | | | |
    |0060965E|Project2.exe|acTitleBar.pas | |StartItemAnimation |385[5] |
    |006095FC|Project2.exe|acTitleBar.pas | |StartItemAnimation |380[0] |
    |00616C17|Project2.exe|sSkinProvider.pas|TsSkinProvider|RepaintButton |2390[201]|
    |00615BF0|Project2.exe|sSkinProvider.pas|TsSkinProvider|RepaintButton |2189[0] |
    |006222E6|Project2.exe|sSkinProvider.pas|TsSkinProvider|SetHotHT |5178[72] |
    |00621E24|Project2.exe|sSkinProvider.pas|TsSkinProvider|SetHotHT |5106[0] |
    |0062AA15|Project2.exe|sSkinProvider.pas|TsSkinProvider|AC_NCMouseMove |7113[9] |
    |0062A98C|Project2.exe|sSkinProvider.pas|TsSkinProvider|AC_NCMouseMove |7104[0] |
    |00619300|Project2.exe|sSkinProvider.pas|TsSkinProvider|NewWndProc |3034[321]|
    |7722F810|ntdll.dll | | |ZwWow64CsrCaptureMessageBuffer | |
    |77243743|ntdll.dll | | |RtlAllocateHeap | |
    |7636AAA1|user32.dll | | |SendMessageW | |
    |7636AA54|user32.dll | | |SendMessageW | |
    |005D513E|Project2.exe|sVclUtils.pas | |SendAMessage |1378[1] |
    |772435B0|ntdll.dll | | |RtlLeaveCriticalSection | |
    |74B085B5|KERNEL32.DLL| | |GetCurrentThreadId | |
    |7722F810|ntdll.dll | | |ZwWow64CsrCaptureMessageBuffer | |
    |7725243D|ntdll.dll | | |RtlDeactivateActivationContextUnsafeFast| |
    |7636A206|user32.dll | | |GetPropW | |
    |7636A1D7|user32.dll | | |GetPropW | |
    |76368A61|user32.dll | | |DispatchMessageW | |
    |76368A56|user32.dll | | |DispatchMessageW | |
    |00640215|Project2.exe|Project2.dpr | | |16[5] |
    |74B0850B|KERNEL32.DLL| | |BaseThreadInitThunk | |
    ———————————————————————————————————–
    FeLDMaRShaL
    Participant

    Вырвал из свого проекта 2 модуля, из них создал тестовый пример (не судите строго за оформление, торопился, самое главное что баг повторился). Скомпилировал ехе. Для наблюдения бага необходимо:

    1) Запускаем проект

    2) Максимизируем форму (путем двойного клика по той области за которую мы “тащим” окно по рабочему столу.

    3) Наблюдаем что после максимизации верхние кнопки находятся на белом фоне.

    Про систему: Windows8, скины 8.18

    P.S. на форуме переодически отписываюсь про баги компонентов, как правило с тестовыми примерами, и чтобы точно наблюдались баги, вкладывваю в примеры тяжелые скомпилированные ехе файлы, сейчас вот заметил что: “Used 32.29MB of your 48.83MB global upload quota (Max. single file size: 10M:cool:” скоро у меня уже не будет такой возможности, или тут надо както по особому файлы прикреплять (на пример на какихто сторонних серверах, а тут ссылку только выкладывать), ткните меня носом в то место где про это рассказывается пожалуйста.

    FeLDMaRShaL
    Participant

    ДА проблема в том что при максимизации приложения, какимто странным образов одна из панелек не отрисовывается, тупо белый квадрат… проверил, и даже репеинтформс не помогает ((( воспроизвести не получается, поэтому и спросил, думал поможет, а оказывается даже репеинт формс не помогло.

    FeLDMaRShaL
    Participant

    Вопрос немного не по теме, но чтобы не содавать новую ветку задам его тут: как мне перерисовать полностью форму… аналог skinManager.repaintforms(true), только не все а именно одну форму.

    FeLDMaRShaL
    Participant

    Отлично, будем ждать.

    FeLDMaRShaL
    Participant

    Он нужен, без него ни как не получается реализовать. В программе много окон, со сложными дочерними отношениями в них. В частности как вариант, чтобы в случае появления хинта другая форма, не вылезала на передний план. Убрать это свойство не получится. Т.е. Это из-за него, и ни чего нельзя сделать… или всетаки стоит ожидать улучшения в этом плане?

    in reply to: Ошибка от EurekaLog #49500
    FeLDMaRShaL
    Participant
    'Support' wrote:

    Есть вопрос – из-за чего происходит мигание окна? С нею что-то происходит в это время? Многопоточность используется?

    Может быть не так выразился. Происходит мигания заголовка окна (flashwindow)

    Мигание окна как и смена картинки в происходит в отдельном потоке (JvThreadTimer).

    Есть вероятность что в момента смены картинки происходил процесс закрытие вкладки посредством нажатия на крестик у самой вкладки, ну или если не закрытие то по крайней мере вкладка попала под фокус мышки (мы могли щелкнуть как на саму вкалдку так и на садержимое в ней).

    К сожелению более точно сказать ни чего не могу.

    in reply to: Не изменяющееся свойство BorderIcons #49499
    FeLDMaRShaL
    Participant

    В версии 8.10 данный баг не исправлен. 🙄

    in reply to: Обновление на 8.03 #49449
    FeLDMaRShaL
    Participant

    Небольшая задержка была в получении компонентов. Только сегодня их получил.

    8.04 версия ведет себя хорошо 🙂

    п.с. если не сильно сложно, то объясните пожалуйста что Вы в компонентах исправили чтобы ситуация улучшилась, а то меня все таки пугает мысль что у меня в тестовом примере не получилось воспроизвести баг => в своем коде я что-то несознательно сделал чтобы привести к такому багу… хотелось бы исправить этот момент 🙂

    in reply to: Не изменяющееся свойство BorderIcons #49448
    FeLDMaRShaL
    Participant

    Запускаете ехе (скин включен), далее жмакайте по кнопке – ни чего происходить не будет, далее снимаете галочку, скин отключается, жмакайте по кнопочке и кнопка закрыть то появится то исчезнит, как и должно быть.

    in reply to: Обновление на 8.03 #49370
    FeLDMaRShaL
    Participant
    'Support' wrote:

    В версии 8.02 такого не наблюдалось?

    Точно не наблюдалось. Будем ждать с нетерпением новой версии. А то пришлось откатить версию компонентов.

    in reply to: Проблема win + key down #49234
    FeLDMaRShaL
    Participant

    Присоединяюсь к такой проблеме. Иногда такое поведения наблюдается еще и при обычной минимизации, а также если воспользоваться функцией свернуть все окна.

    in reply to: Стандартные диалоговые окна. #49191
    FeLDMaRShaL
    Participant

    Спасибо, будем ждать обновления, после обновления я отпишусь, устранена или нет проблема.

    in reply to: Minimizing child window #49190
    FeLDMaRShaL
    Participant
    'Support' wrote:

    Если для формы выполняется ShowWindow(Handle, SW_SHOWNORMAL), то свойство Visible остается False и для остального приложения она типа not Visible. Borland специально создала процедуры типа Form.Show, лучше ими пользоваться.

    Есть проблема минимизации окна, у которого WndParent = HWND_DESKTOP, но я пока не знаю, что с этим сделать.

    На счет Visible я в курсе, я специально сделал так. В программе периодически происходит создание новых компонентов на форме в тот момент когда форма не видна для пользователя (например, создание вкладки у sPageControl), и если visible=false, то там куча проблем с последующим отображением, поэтому я ушел от vcl и сначала вызываю ShowWindow(Handle, SW_HIDE) – в этом случае visible также остается trye, а потом ShowWindow(Handle, SW_SHOWNORMAL) – т.е. visible таже равен true. В этом проблем нету, у меня всегда форма имеет свойство visible=true. С этим по идеи все нормально, но на самом деле у меня проблема в другом а именно, мне нужно в идеале получить красивую рисованную минимизацию без каких либо багов но:

    1) Если отвключу рисованную минимизацию, то в этом случае форма сама минимизируется но (очень редко, новсетаки присутсвует баг в программе) на рабочем столе оставляет рамку от формы на которой находятся кнопки (свернуть, развернуть, закрыть) в которой пустота.

    2) Если включу рисованную минимизацию, то после того как окно разворачивается оно поверх всех окон.

    3) Если отключу рисованные границы и включу рисованную минимизацию то, проблемы как в 1 пункте нету.

    Все сложности из-за того что воспроизветси 1 ситуацию на простом примере у меня не получается… а то что воспроизводится (2 пример) – это полумера, но если бы Вы смогли бы это исправить, то было бы просто шикарно.

    Надеюсь что Вам всетаки удастся исправить проблему с окном, у которого WndParent = HWND_DESKTOP…

    in reply to: Стандартные диалоговые окна. #49176
    FeLDMaRShaL
    Participant

    Windows7, Aero включена.

    in reply to: TJvCaptionButton + Skin #49175
    FeLDMaRShaL
    Participant

    Аксесс виолейшн по адресу 0000000… а после этого запускается форма, но без скинов. Если не изменяет память то там какие то не те параметры в процеду движения мышки по кнопке(или в процедуру маусентер уже не помню точно) входили, изменил их и у меня стало все нормально. По образу и подобию сделал у себя в проекте также. Все работает на ура!.

    in reply to: Minimizing child window #49140
    FeLDMaRShaL
    Participant

    Столкнулся с крайне неприятным багом. Если включить рисованные границы у скинменеджера, то при восстановлении окна из минимизированного состоянию это окно становится поверх всех остальных окон, даже когда не активное, как будто у формы выставился FormStyle=fsStayOnTop. Демку с скомпилированным ехе прилагаю. На примере необходимо нажать кнопку, в результате чего создастся форма, если ее свернуть а потом развернуть из трея то оно становится поверх всех остальных форм.

    Есть ли способ избавиться от этого бага до нового билда компонентов (не меняя свойство у формы FormStyle)

    in reply to: TJvCaptionButton + Skin #49118
    FeLDMaRShaL
    Participant

    Шикарно. Большего и желать нельзя. Огромное спасибо.

    P.S. пример который Вы мне дали, если его будете выкладывать во все примеры, то перекомпилируйте его, а то ехе с ошибкой запускается.

    in reply to: Minimizing child window #49088
    FeLDMaRShaL
    Participant

    Проверил, минимизация окна появилась. Только не всегда срабатывает рисованная минимизация. Иногда минимизация происходит мгновенно, при чем как сворачивается так и разворачивается просто появлением (ну и иногда это сопровождается морганием. Но все равно это лучше чем ни чего :a3:

Viewing 20 posts - 1 through 20 (of 65 total)