WinFBE Visual Designer updates

Started by Paul Squires, January 26, 2019, 12:09:38 PM

Previous topic - Next topic

Paul Squires

My goal for the next WinFBE update is a massive update to the visual designer portion of WinFBE. I'll use this thread to post the progress so you guys can express any opinions or features that you want (especially with the current already implemented controls).
Paul Squires
PlanetSquires Software

Paul Squires

I have modified the Label control to use SS_OWNERDRAW so that now we can position the Label text using the DrawText api via WM_DRAWITEM.

The new LabelAlignment options are now:

enum LabelAlignment
   MiddleCenter = 1
   MiddleLeft   
   MiddleRight 
   TopCenter   
   TopLeft     
   TopRight     
   BottomCenter
   BottomLeft   
   BottomRight 
end enum

I have also implemented "BackColorHot" and "ForeColorHot" properties that will display the Label using different color if the mouse is over the control. I am using double buffering in WM_DRAWITEM to ensure that the Label is flicker free.



Paul Squires
PlanetSquires Software

Paul Squires

The ListBox control has been modified to be fixed ownerdraw. This allowed me to implement properties: ItemHeight, BackColorHot, ForeColorHot, BackColorSelected, ForeColorSelected. This makes the ListBox control look a lot more modern.
Paul Squires
PlanetSquires Software

Paul Squires

Update: I am working on the feature "SnapLines". It is more powerful than the old style snap to grid. You see such a feature in Visual Studio whereby you are moving your control and various alignment lines will appear as the control approaches a nearby control's top or bottom, left or right side. When within a hit zone the control will then snap to the snap line. The control will then only move from that snap position once the user tries to move the control outside the hit zone again. The logic is a little complicated but I have the bare bones of it working.
Paul Squires
PlanetSquires Software

Paul Squires

Update: I also have a draft form created for the StatusBar Editor. It is based on the one in FireFly.
Paul Squires
PlanetSquires Software

Andrew Lindsay

It sounds like things are really progressing well Paul.  I appreciate the effort that you and Jose have made in providing this for the community.  I only wish my work load would drop off so I could relax and spend some time coding.

Paul Squires

Thanks Andrew, still lots of work to do but it is getting easier and easier because a lot of the hard work is now done. Once all of the native controls are added to the designer then we'll be in a good state to start to refine the process from creating an user application from start to finish to make it as smooth and intuitive as possible.
Paul Squires
PlanetSquires Software

Paul Squires

Paul Squires
PlanetSquires Software

Eddy Van Esch

Amazing! It reminds me of the 'Snap to geometry' feature in sketchers of 3D solid modelling software packages! :)
Eddy

Joerg B.

Hello Paul
This is a nice thing and clearly facilitates the alignment of the controls.  ;D
Greeting from Germany

Joerg

raymw

Hi Paul, snap lines looks useful, but is it replacing snap to grid, or 'as well as'. If there is no snap to grid, how do you equally space, say, the initial row? (other than calculating/entering numbers)

Paul Squires

I wasn't planning on having snap to grid. I will add the "Horizontal Spacing" and "Vertical Spacing" options that used to be in FireFly. Those functions allowed you to select a group of controls and space them evenly. That would be a useful addition.
Paul Squires
PlanetSquires Software

raymw

Thanks, that should do it. Grids can  e a bit awkward, in particular if you need to edit the screen later, e.g. add a few buttons - you need to re-space the grid.

Paul Squires

- Added: 'Horizonal Spacing' menu option to horizontally space a selected group of controls.
- Added: 'Vertical Spacing' menu option to vertically space a selected group of controls.
Paul Squires
PlanetSquires Software

Paul Squires

I just about have the StatusBar Editor finished. I was busy this past work and didn't get the statusbar stuff finished as fast as I had hoped. On a positive note, a lot of the StatusBar Editor code can be used in the upcoming ToolBar Editor that will be next.
Paul Squires
PlanetSquires Software