I used about 4 hours to finish the ListBox, it has no inheritance relationship with ScrollView, it is a separate element, now it works well and I think it is more powerful than the ListBox of Win32SDK.
After that I continued to update the TileSet editor of xRpgMaker and the development was unhindered after the component had been completed.
I created a neat data structure that holds the various settings for the blocks, as well as data for up to 15 AutoTiles. Of course as I mentioned in the development log on day one, if I put the Tile data in here as well, it would cause the embarrassment of not being able to align the data, so this part was implemented separately.
After that is the saving and loading of the data, since it is neat data it can be loaded and saved directly, this part of the code was done in only about ten lines and it worked fine, I did some security checks to make sure it doesn't load bad data.
A few more trivial events are handled so that they can fill in the data structure I created, and now all the functionality except for TileEdit is available.
Next I started working on the TileEdit user interface element. I didn't have much time left, it was now 5am and I needed to go on a break before 7am so I wouldn't have enough energy to cope with the work.
TileEdit is quite a bit less difficult, mainly because he has up to 5 working modes, which is purely physical work, as well as, I need additional art work, which is something I'm not good at, but the good thing is that the workload is not too much and I can finish it during the day.
Time went by fast today, maybe because the previous ListBox development made me feel like I hit a wall and never found a better solution, but today I was very focused on solving it, and before I knew it a long time had passed, but the progress improvement was also very obvious, at least now DBEdit.exe has a little bit of initial functionality.
I'll probably start with a LineEdit UI element in the next few days, now that I'm becoming more and more aware of how uncomfortable it is to lack an editor-like control, even if I start with a simplified version that can only be edited in a single line, it can still greatly improve the experience and presentation of DBEdit.exe.
After these four days of development, XGE's ability in user interface is basically confirmed, and I will use it more confidently to develop other components afterwards. Unfortunately, xui's UI elements are now a bit low, and this part may take a lot of time to perfect. Moreover, xui is still drawn frame by frame without using dirty rectangle technology, which wastes a lot of unnecessary performance and needs to be improved, but it is not a high priority, because from my experience developing DBEdit, it can take this level of performance pressure.
I've recently seen some discussion in the community about FreeBasic's development of user interfaces, and we all hope that FreeBasic will provide a more modern approach to interface development. In fact, DirectUI is a direction worth trying, and the Win32SDK is already outdated, no matter how well packaged the interface library is, or how difficult it is to make up for its backwardness by developing a Visual Basic-like designer.
Layout system is a very important component, with an excellent layout system, the development interface does not need to be visualized, just follow the layout flow, the problem of typography can be easily interface, while the interface scaling is handled very easily.
In this part I would like to recommend a DirectUI library from China, which is excellent and surpasses even most commercial DirectUI solutions in terms of capability: http://www.xcgui.com/
In the future maybe I will also develop a DirectUI library, but of course this is a blank check, because I always have a lot of work and the project is always crowded, now my focus is still on top of XGE, including xRpgMaker which is actually a DEMO of XGE, just that he has a lot of potential, so I develop it separately.
Today access to FreeBasic's website is very stuck, I do not know what is the reason, later I will upload yesterday's development of j
Translated with http://www.DeepL.com/Translator (free version)
