Forum Replies Created
-
AuthorPosts
-
HamiltonParticipant
While you're in that area of code, there are two compiler hints that would be good to clean up also:
[DCC Hint] acLFPainter.pas(380): H2269 Overriding virtual method 'TcxACPCPainter.GetStyleID' has lower visibility (protected) than base class 'TcxPCTabsPainter' (public)
[DCC Hint] acLFPainter.pas(381): H2269 Overriding virtual method 'TcxACPCPainter.GetStyleName' has lower visibility (protected) than base class 'TcxPCTabsPainter' (public)
HamiltonParticipantThis problem still exists in version 8.18
PS Many thanks to Jacek to posting the fix, it allowed me to keep coding with minimal downtime 🙂
Regards,
Hamilton
HamiltonParticipantHi AlonsoJr,
Nice work to notice the manifest, I hadn't thought of that. GL with the rest of your project 🙂
Regards,
Hamilton
HamiltonParticipantHi AlonsoJr,
I tried to repro and cannot – everything seems to work fine for me. I've attached a demo that shows it working, you'll need to set the connection string and add some SQL to see anything meaningful but even if you just run it you can see the titles are skinned, which they clearly aren't in your image. In the demo I've added the whole set of Jv components but I also tested with just adding JvDBGrid and that worked too.
Regards,
Hamilton
HamiltonParticipantHi Sascha, I'm so glad to hear you say that 🙂 I wondered if you'd seen the post but didn't want to push as it was just my opinion.
Regards,
Hamilton
HamiltonParticipantHi,
Since Subway the new skins (other than Mint) have supported the full range of mouseover effects and they are awesome! This includes Zest, AlterMetro and Lunar Base).
Suggestions:
* It would be good if Mint had the full range of mouseover effects.
* It would be good if Subway used the blue color consistently for mouseover effects (aside: I really like this skin and use it a lot; the blue color used for button and grid titles works so well against the dark background and I'd really love to see how my apps would look with that effect applied consistently).
* It would be worthwhile to go back and add these effects to other skins (if anyone has time).
PS The new skins are all great – too good in fact and I've had to add them to my core suite of apps and now the list of skins the user can choose from is unreasonably long! LOL it's fantastic 😛
/peace,
Hamilton
HamiltonParticipantFixed in 8.16
HamiltonParticipant'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
HamiltonParticipantHi Mustafa,
I gather you're trying something along these lines?
http://delphi.about.com/od/adptips2006/qt/draw_captionbar.htm
I've seen other articles where people report problems with this and suggest a workaround:
A better way to go might be to use the TsTitleBar component in AC. This allows you to setup a collection of title bar objects (including labels, menus etc) and won't require you to write any API or message handling routines. Anyway take a look at TsTitleBar and let us know if that solves your problem. HTH.
Regards,
Hamilton
HamiltonParticipantI'm just a fan too 🙂
I don't have much time to help in the forums atm but normally I like to be active here to be aware of issues my users may face and to encourage/support a community for a product that has improved the appearance and functionality of my apps so much. Full kudos is to Serge, Sascha, anyone else they have hiding away in ACCentral, and the community users who contribute to the product 🙂
HamiltonParticipantHi Serge,
http://news.jrsoftwa…2000.thirdparty
http://www.silverpoi…bxlib/index.htm
I thought I'd seen you post about TBX before? I'll jog your memory as there is some history here worth knowing before you look too deeply into skinning this package. Jordan Russell developed Toolbar 2000 and this work was later extended into TBX by a chap called Alex Denisov. TBX has strong dependencies on Toolbar 2000, which has not been update in a decade. When TBX in turn stopped being supported (Alex hasn't even posted about the library for years, probably a decade too) another community member, Robert Lee, stepped in to create the SpTBX libraries that are in more common use today. SpTBX originally had dependencies on both Toolbar 2000 and TBX but the requirement for TBX has been removed long ago.
I still have legacy apps using TBX myself and one with spTBX. Most of the community will has moved to spTBX by now but you still sometimes see questions about TBX in the forums (which are still hosted off the jrsoftware Toolbar 2000 site). So when someone asks to skin TBX I am unsure whether they think you'd be skinning the actual TBX component set which is not maintained, or the newer spTBX library which is maintained by Robert Lee. My guess is they're asking about spTBX, which you can obtain from the second link at the top of my post. Please note that both TBX and spTBX have their own skinning (this is essentially what they added to Toolbar 2000, as well as adding new controls).
Regards,
Hamilton
HamiltonParticipantHi Darren,
I think the Tabsheet.Visible property might be what you're after?
PS Not sure if someone has addressed your other posts yet I've been busy will try look into it later.
Regards,
Hamilton
HamiltonParticipantHi Darren,
I can repro the problem using the attached demo. If you mouse over the TsButtons on the TsPanel on the upper part of the form then the mouse move event is not being consumed properly by the button and is being passed through to the panel beneath it and that panels' OnMove event is firing too. For the TPanel and TButtons in the lower part of the form the events fire as you would expect.
Regards,
Hamilton
HamiltonParticipantWhat behaviour are you asking us to test Darren?
HamiltonParticipantHi Darren,
You code worked fine apart from the custom output paths for the project; once I removed those it compiled OK. However, I cannot repro the problem you describe. I've attached a screen grab of how the app looks for me, it's the same when the app starts as when I leave it for a few minutes. Sorry I can't be of more help.
Regards,
Hamilton
HamiltonParticipantI noticed a couple of releases back that some buttons and other controls in my apps weren't refreshing when font and color properties were being updated. It had worked in the past but suddenly I had to code around it. I think it's actually a bug – setting the colour *should* have an immediate effect without any more code. Anyway you can easily code around it as you've done, or more efficiently just refresh the control you're altering with a call to invalidate, refresh or repaint (normally invalidate but it depends on the control).
TsSpeedButton(Components).Invalidate;
Regards,
Hamilton
HamiltonParticipantNope. The Ribbon control uses the Windows API to draw the control using bitmaps so skinning would be very difficult.
Regards,
Hamilton
HamiltonParticipantFrom what I can tell, the Delphi TRibbon is based on the Windows ribbon API – which doesn't expose any color properties because the control is drawn with bitmaps rather than rendered with colors/patterns. Taking a quick look at TRibbon you can see that the style can be set but there are no Color properties. If you look at the DevExpress ribbon and it *does* have colors then you're in luck and you'll be able to at least semi-skin your control using one of the methods discussed in this thread [topic='6544']here[/topic].
Regards,
Hamilton
HamiltonParticipantI'm very excited to see this happening, thank you!
If I was to be critical.. and I don't want to be.. I'd point out that the hot-track colour is less consistent for Subway than it is with BlackBox. With BlackBox the hot-track is always orange but with Subway it is white around edit boxes, blue for buttons, black around text for checkboxes/radiogroups and blue around text for toolbuttons. I wonder if the blue color used on the buttons could be applied in all cases?
Regards,
Hamilton
November 28, 2012 at 5:35 pm in reply to: Docked form (BorderStyle=bsNone) suddenly gets border #49478HamiltonParticipant'ralfiii' wrote:or the module can “live free” as normal free floating Forms (with Border).
If I understand this correctly, you can of course achieve this with frames by just creating the form dynamically and docking the frame into it. Still, I understand where you're coming from and in those cases where I have used frames it has been much as you describe, for grouping controls for things such as font properties (and I absolutely avoid visual inheritence).
'mol' wrote:I usually use this approach: http://www.delphipag…ad.php?t=118316
Unfortunately TFrame doesn't contain OnPaint so this approach won't apply.
EDIT: Handling WM_PAINT might work though. As would client-aligning a control that does support OnPaint, such as this nifty approach using a paintbox (http://www.delphigro…/28/415014.html).
-
AuthorPosts