Forum Replies Created
-
AuthorPosts
-
DarrenBParticipantQuote:
Hi Serge !
It's new year and (hopefully) we are all sober again
It would be hard for me to list ALL advantages a TsImage component would offer but here are some:
– OnClick, MouseUp … events on a picture
– Proportional property
– UseCash property (like at TsVirtualImageList)
– no need to calculate ScaleBy- and Anchors-modified coordinates for placement of a picture
– component order
– probably more repaint-refresh compatibility with other AlphaSkin controls (like TsPanel)
– maybe it could hold standard picture types too, like a normal TImage (.jpg, tif..)
– would increase development work for scaled touch-screen application ca. 20x times
– …
So it would be simply logical to have such a component, basically like the sBitBtn, without [focus, borders, onKeyDown, …] and such events.
Cheers
I've just started to develop a new module for my program where I wanted to place pictures for different payment types (cash, credit card, ticket, …) on a TScrollBox under each other. Than I've realized it's complicated without TsImage to use pictures already saved into a TsAlphaImageList.
Quote:Hello!I think, such component may be useful, added in ToDo
😀 😉 Good job guys.
Darren
DarrenBParticipant'Support' wrote:Such using is correct, but destroying should be automatic, why you do that?
Maybe one component is destroyed twice in your project?
Hi Serge 🙂
no I don't actually use this method in my project… am currently just thinking about how I could use it and if I should. Just checking out what I should know beforehand 🙂
Was wondering if it was different to my normal method of just placing a single SkinManager on the main form and letting it be destroyed automatically.
Got my answer, thankyou 🙂
Darren
DarrenBParticipant'Support' wrote:Yes, it's possible, but time is needed. 🙂
No rush Serge,you're already doing a load! 🙂 Glad to hear it's possible…animated buttons would be a great addition I think 🙂
Darren
DarrenBParticipant'Support' wrote:Hello!
Some improvements will be added in the nearest release.
Thanks Serge… we point em out.. u fix em or tell us we're wrong…perfect lol 😉
DarrenBParticipant'Support' wrote:“Beginning of work” will be translated at the nearest days and this link will be published on the main page 🙂
Cool 🙂
DarrenBParticipantHi Serge,
just took a look at that link… looks exactly what we need… love the way you have it laid out and illustrating with the pictures is an excellent idea. Kudos Serge, busy man huh? lol 😉
I have Google Chrome set up to auto-translate Russian pages into English… it reads good so far, even with the auto-translator function. I will look at it closer l8r 🙂
Don't have time to look right now cos going out… can you put up the link as a 'STICKY'? (WORK IN PROGRESS) Or are u not ready to 'launch' yet?
Or does everyone else already know about it apart from me lol? Happens to me a lot, that 😉
DarrenBParticipant'Support' wrote:Darren, please look, sSpeedButton1.SkinData.SkinManager property exist already. Maybe that's what you meant?
You can define any SkinManager for a custom control from AlphaControls package.
Or I not quite understand your idea?
omg lol Serge!! In all my years of using AlphaSkins I didn't know you could do that!!!!!
You're brilliant!!!!! Wow all my forms have used a single skin… and yet you have already offered this idea for years?!?!? lol I don't feel a fool for offering the idea because I knew it was a good one I just didn't know it was already there!!!
Brilliant Serge absolutely brilliant.
Serge, we gotta get some up to date documentation done! Hows that coming I know you are working on it?
Darren
DarrenBParticipant'Support' wrote:Я выяснил, что в dcu под XE включена информация отладки, подумаю над этой темой.
I found that debug info is included there, I will think how to improve it.
спасибо Сержу было бы замечательно, если бы вы могли!
Is that right ^^^ lol?
DarrenBParticipantЗдравствуйте мои русские друзья! Я перевожу на Google 🙂 Я буду писать по-английски сейчас!
Hi guys 🙂
Serge I thought this was a problem with the way I had my Delphi settings set up… but after reading gr_ander's post I knew I had spotted something a long time ago that made me wonder.
I have included a sample application. It seems both I and gr_ander are both using XE … might this be specific to our problem?
Run the application, but on EACH line in form.show, one at a time… place a breakpoint. On each of the lines me and gr_ander see the picture shown in my original post.
EXCEPT for the last one!!!! This means our settings can not be wrong!!!! One contradiction disproves the rule!!!!
Can you reproduce this behaviour using my app?
It is not a huge problem but it makes life very hard to debug a huge program for me here as I have to be selective as to where I can place my breakpoints!!!
I have not purchased source yet, Xmas was very expensive for me lots of presents to buy!!!!
Thanks
Darren
P.S. Good luck to gr_ander and me getting this one sorted out lol
Удачи!
DarrenBParticipantNow thats what I call preparing somebody lol… interesting read, will take time to look at the site you gave later just because of it.
DarrenBParticipant'Hamilton' wrote:I'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 🙂
Yeah what he said
lol
DarrenBParticipant'Support' wrote:Hello All
TsSpeedButton will be repainted automatically in the nearest release.
Wesley, for a full repaint of Alpha controls may be used this code : TsSpeedButton(Components).SkinData.Invalidate
Thankyou Serge 🙂
DarrenBParticipant'Support' wrote:Hi Darren!
“TOOLBAR” section had incorrect data for Active state in some skins.
All skins are updated now and you can download them here :
After skin package update and using showing the same 'problem skins I showed above…
Looks proper! Thanks, Serge 😉
DarrenBParticipantHi,
just saw ur msg and noticed u said AC 7.68? I know personally that the latest 8.14 seems a lot faster and flicker free here for me anyway… did u try that version yet?
DarrenBParticipantHmmm looks like I just deleted the bulk of this post… uggggggggg! What u see here isn't what was here 10 mins ago.
Did you see it, Hamilton? God sometimes I hate cut and paste when I'm editing something
Essence was, visible property didn't help and in fact didn't seem to do much at all… also setting it in the IDE (to false) running program, coming back to IDE and the property was always true…? Is that normal?
Whatever combination of enabled, visible properties I use, Tabsheet tab is always visible, and clickable… but text on tabsheet tab appears disabled.
I'm sure I must be doing this wrong unless it's a bug?
DarrenBParticipantRe : the drawing artefacts issue and the issue I was having with the comboboxex appearing to try and 'resize' it's items on first display…hopefully other people could see what I meant in the demo.
Anyway, in main app I have solved that issue…for me at least. I have reordered my page control so that in it's initial view state the page it displays is not the page upon which the comboboxex lies. It seems that by doing this, when the user switches over to the page with the comboboxex on it, there are no longer any drawing artefacts and the items are correctly sized.
Despite trying to tweak my initial demo, I could not get rid of the issues with artefacts here on my system. Using this new method, I'm happy to say it appears to have gone away 🙂
you can see the differences 🙂 Anyway, highlighted the top caption bar…image should be displayed there for selected item I think…as this is the default behaviour in the control?
Knocking my problems down one by one in the past few days lol!
DarrenBParticipantThe correct way to change an image and caption (or just image) of the selected item in a TsComboBoxEx with style csExSimple… as far as I know at the moment anyway.
var
StoreItemIndex : integer;
NewCaption : String;
WhichItemToUpdate : integer;
ChangeToWhatImage : integer;
Begin
ChangeToWhatImage := !!!whatever image number you want to change to within bounds of your imagelist!!!
WhichItemToUpdate := !!!whichever itemindex in comboboxex1 you want to change!!!
NewCaption :='Changed!'; // if you want to change just the image, but leave the caption alone…. set this to scomboboxex1.items[WhichItemToUpdate];
StoreItemIndex := scomboboxex1.itemindex;
scomboboxex1.items[StoreItemIndex] :=NewCaption;
scomboboxex1.itemsex[StoreItemIndex].imageindex := ChangeToWhatImage;
scomboboxex1.itemindex :=StoreItemIndex; /// return itemindex back to where it was
end;
the storing of the itemindex property was necessary as if you try to use the itemindex property explicitly, you will get a Out Of Bounds error (-1)…the first call to update the caption invalidates the itemindex property and returns it to -1.
Works fine here. Hope it helps.
DarrenBParticipantWow cool day for me…
thinking about your advice on really finding out which of Invalidate, Refresh, Repaint would work for my speedbutton problem I tried them all and nothing. Then I did this
sspeedbuttonEditPreview.Invalidate;
sspeedbuttonEditPreview.refresh;
*together and in that order*
which kinda makes sense and i wonder why it didn't occur to me…invalidate says 'invalidate this'…then it makes sense to call the refresh to 'refresh what you just invalidated'. Anyway…it works for my problem here. Hope it helps someone else 🙂
EDIT UPDATE*** Tested for the last 30 mins in all areas of my main app that were experiencing button update problems. Looks as solid as a rock all update issues now gone *touch wood*
EDIT UPDATE 2*** It works all the time here…never had one fail yet after over 14 hours of solid programming/testing main app 🙂
DarrenBParticipantHoly crap batman!
In my demo app I had this code to update comboboxex1
sComboBoxEx1.ItemsEx[StoredComboBoxEx1ItemIndex].ImageIndex :=
sComboBoxEx2.Itemindex;
sComboBoxEx1.Items[StoredComboBoxEx1ItemIndex] := 'Item ' +
inttostr(StoredComboBoxEx1ItemIndex + 1) + ' Holds Picture ' +
inttostr(sComboBoxEx2.Itemindex + 1) + ' *Changed*';
it wasn't working…text updated…image disappeared :/
purely by chance I thought hang on I'll try
sComboBoxEx1.Items[StoredComboBoxEx1ItemIndex] := 'Item ' +
inttostr(StoredComboBoxEx1ItemIndex + 1) + ' Holds Picture ' +
inttostr(sComboBoxEx2.Itemindex + 1) + ' *Changed*';
sComboBoxEx1.ItemsEx[StoredComboBoxEx1ItemIndex].ImageIndex :=
sComboBoxEx2.Itemindex;
and it works perfect!!!!!! Purely changing the order of update from *Update Image Index* then *Update Text* to the opposite…works!!! Phew cool…weird weird weird. Don't ask cos I don't know lol
DarrenBParticipantQuote:I 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).
Hi Hamilton,
I've noticed in a few controls there still exist a few refresh problems…they're not always refreshed EVERY time. I'm linking a few speed buttons to various alphaimagelists then changing their image index…most times it works but sometimes the image won't refresh until you either move the mouse over the button, or move away from the form/page and come back to it. It doesn't happen every time and believe me I've tried combinations of Invalidate, Refresh and Repaint but they don't always work. I don't think thats a bug in the execution/coding of the controls I think it might just be a small bug in the *flow* of execution. I had an idea though…because obviously (my example of speed button not always refreshing) the image is 'there' cos it appears when mouse is moved over… do you think if the AC team (whilst the small 'bugs' are there) might implement a method/property of each control called something like
WhateverAlphaSkinsControl.EmergencyRedraw;
this would call the root code drawing of the item…that root code is there and it works cos …well my example again…image is shown when mouse is moved over control or page is changed then come back to…so drawing code is fine just not always the *updating* code. Maybe they're already doing that though cos thats what .Redraw is supposed to do? What do you think?
-
AuthorPosts