Exclude from Skinning

Viewing 20 posts - 1 through 20 (of 22 total)
  • Author
    Posts
  • #35600
    Wolfgang
    Participant

    1)

    I have to show some Panels in their designed colors to indicate certain states visually.

    VclSkins allows to exclude items from being skinned by setting the Tag property to 99.

    Is there something similar in Alpha Controls?

    2)

    Having converted most of a very large project to Alpha Controls, I see problems on certain Forms, which are only partially skinned. When I set the onActivate event handler to 'Invalidate' it solves the problem on most of the Forms, but still not all of them.

    3)

    Is there something I can do to speed up the skinning process? It seems to slow everything down quite a bit.

    4)

    On one particular project I have noted, that, for a menu, MeasureItem was called, before the creation of the form which only came right, after I changed all the

    #49968
    Hamilton
    Participant
    'Wolfgang' wrote:

    1) I have to show some Panels in their designed colors to indicate certain states visually. VclSkins allows to exclude items from being skinned by setting the Tag property to 99. Is there something similar in Alpha Controls?

    That works in AC too. You can also set SkinData.CustomColor to true and then set the color.

    'Wolfgang' wrote:

    2) Having converted most of a very large project to Alpha Controls, I see problems on certain Forms, which are only partially skinned. When I set the onActivate event handler to 'Invalidate' it solves the problem on most of the Forms, but still not all of them.

    Can you be more specific – what controls aren't skinned, can you provide a simple demo?

    There is an issue that some buttons aren't updated when the color is changed but that's the only issue I'm aware of.

    You could try calling sSkinManager1.RepaintForms to redrawn all components, or if that doesn't work and calling Control.Invalidate doesn't work either then I'd suggest TsSpeedButton(Components).SkinData.Invalidate (where you replace TsSpeedButton with your control type). But really – this kind of fix should not be required and if you can post a sample that demonstrates a problem then I'm confident either we'll be able to point out your error or the AC team will provide a fix.

    'Wolfgang' wrote:

    3) Is there something I can do to speed up the skinning process? It seems to slow everything down quite a bit.

    Add a SkinProvider to each of your forms. Turn off some animations if you think they are slow. Buy a faster PC and upgrade from XP – not sure if either of those are relevant but it is not normal to have display lag unless you have a low spec or old system.

    'Wolfgang' wrote:

    4)

    On one particular project I have noted, that, for a menu, MeasureItem was called, before the creation of the form which only came right, after I changed all the

    Your question has been cut off. It doesn't seem right to call MeasureItem that early but I'm not familiar with that section of code and I'm not sure what your problem is so I can't respond further.

    Regards,

    Hamilton

    #49969
    Wolfgang
    Participant
    'Hamilton' wrote:

    That works in AC too. You can also set SkinData.CustomColor to true and then set the color.

    Can you be more specific – what controls aren't skinned, can you provide a simple demo?

    There is an issue that some buttons aren't updated when the color is changed but that's the only issue I'm aware of.

    You could try calling sSkinManager1.RepaintForms to redrawn all components, or if that doesn't work and calling Control.Invalidate doesn't work either then I'd suggest TsSpeedButton(Components).SkinData.Invalidate (where you replace TsSpeedButton with your control type). But really – this kind of fix should not be required and if you can post a sample that demonstrates a problem then I'm confident either we'll be able to point out your error or the AC team will provide a fix.

    Add a SkinProvider to each of your forms. Turn off some animations if you think they are slow. Buy a faster PC and upgrade from XP – not sure if either of those are relevant but it is not normal to have display lag unless you have a low spec or old system.

    Your question has been cut off. It doesn't seem right to call MeasureItem that early but I'm not familiar with that section of code and I'm not sure what your problem is so I can't respond further.

    Regards,

    Hamilton

    #49970
    Wolfgang
    Participant

    Ad 1)

    Setting the Tag property for the Panel, I want to leave unskinned, to 99 has no effect.

    Could you provide a short explanation or point me to a manual please?

    Ad 2)

    sSkinManager1.RepaintForms has solved the problem of partially unskinned Forms, thank you.

    Ad 3)

    This seems to have gone hand in hand with sSkinManager1.RepaintForms and is no longer a problem, thank you.

    FYI: i7 Processor, 4GB Ram, Windows 7 Pro and Delphi XE3 Pro.

    Ad 4)

    The project I am talking about, is FreeRep 234, which I have converted to run on DelphiXE3. Will do some more testing

    and get back to you.

    Kind Regards

    Wolfgang

    #49977
    Support
    Keymaster

    Hello!

    1) Try to change Tag to “-98” 🙂

    2) I'll be grateful for a demo with this problem, if you can give it. I will try to sove an issue with automatic refresh.

    3) Standard and thirdparty controls are more slower than a controls which included to the AlphaControls package. AlphaControls specially designed and optimized for using with skins.

    #49982
    Wolfgang
    Participant

    Changing Tag to -98 has no effect …

    #49983
    Support
    Keymaster

    This tag should be used in standard or thirdparty control.

    Control from the package will have standard look if SkinData.SkinSection is not defined in a skin. Change it to 'NONE', for example.

    #49984
    Wolfgang
    Participant

    That solved the exclusion problem, thank you.

    #50006
    Wolfgang
    Participant

    Ad 4)

    I have placed an example on my FTP Site, which you can download from here:

    ftp://www.compmark.biz/Alpha/frrep234.7z

    This is the complete component suite for FreeReport Delphi 2006, updated for

    DelphiXE3.

    You need to install FrreRep10.dpk, then run ReportsFrDemo.dpr.

    The problem disappears, when sSkinManager1.Active = False

    #50013
    Wolfgang
    Participant

    Any news?

    #50018
    Support
    Keymaster

    I'm sorry, I can't install this package, look the error in the picture.

    #50020
    Wolfgang
    Participant
    'Support' wrote:

    I'm sorry, I can't install this package, look the error in the picture.

    Sorry, please try again with these Files

    ftp://www.compmark.b…pha/sources.7z

    Kind Regards

    Wolfgang

    #50021
    Wolfgang
    Participant
    #50025
    Support
    Keymaster

    I should install Jvcl also, seems. Tomorrow I'll try to do it.

    #50031
    Wolfgang
    Participant

    Sorry, my mistake.

    You can just replace all TJvSpeedButton with TsSpeedButton, and TJvLabel with TsLabel

    Kind Regards

    Wolfgang

    PS: I really appreciate your efforts.

    #50039
    Support
    Keymaster

    Next error is attached.

    I have removed these files from “required” part :

    Code:
    NexusDB311dv160,
    NexusDB311ll160,
    NexusDB311sr160,
    NexusDB311sd160,
    NexusDB311si160,
    NexusDB311pt160,
    NexusDB311tc160,
    NexusDB311tn160,
    NexusDB311tw160,
    NexusDB311sq160,
    NexusDB311se160,
    NexusDB311ch160,
    NexusDB311re160,
    NexusDB311db160,
    kbmMemD2006Run,
    SynEdit_R2006,
    Jcl,
    JvCore,
    JvStdCtrls,
    JvCustom,
    JvNet,
    O407_r120,
    Float,
    XLSRWII20_D7

    Maybe it's a reason?

    #50041
    Wolfgang
    Participant

    Again my apologies. Over the years I have added a lot of stuff, which is specific for my needs, but by removing all things, which the compiler coughs at, should bring it back to basics.

    ThousandSeparator in Delphi XE3 is defined in FormatSettings, should therefore be

    FormatSettings.ThousandSeparator

    etc.

    I have actually solved the problem by removing the

    procedure TfrDesignerForm.WndProc(var Message: TMessage);

    from FR_DESGN.Pas, as your WndProc somehow seems to interfere here. This is however not the desired solution, as your “skinning” should surely peacefully coexist with all skinned forms and WndProcs it encounters?

    Kind Regards

    Wolfgang

    #50051
    Support
    Keymaster

    Thank you, now I can compile and research it.

    This report is very specific..

    frTBButton can't be skinned seems, because it's not standard control.

    #50080
    Wolfgang
    Participant
    'Support' wrote:

    Thank you, now I can compile and research it.

    This report is very specific..

    frTBButton can't be skinned seems, because it's not standard control.

    Any progress?

    #50092
    Wolfgang
    Participant

    Did you find anything, I can play around with over the weekend?

    What would you suggest?

    Kind Regards

    Wolfgang

Viewing 20 posts - 1 through 20 (of 22 total)
  • You must be logged in to reply to this topic.