Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Visual FreePro additions

Status
Not open for further replies.

foxmuldr2

Programmer
May 22, 2012
91
US
On the form. Please add comments / thoughts.

Added events:
VFrP allows events, methods, objects and properties to be added at runtime or designtime.
(1) AddingEvent()
(2) AddingMethod()
(3) AddingObject()
(4) AddingProperty()
These are called immediately after the thing is added (and if an object, all init events have been called), immediately before returning to the instruction stream which added the thing.
(5) RemovingEvent()
(6) RemovingMethod()
(7) RemovingObject()
(8) RemovingProperty()
These are called immediately before the thing is removed, while the thing is still completely viable and usable.
(9) DragStart() -- Called on the object being dragged when it starts being dragged somewhere.


Removed events:
(1) AfterDock()
(2) BeforeDock()
(3) OLECompleteDrag()
(4) OLEDrag()
(5) OLEDragDrop()
(6) OLEDragOver()
(7) OLEGiveFeedback()
(8) OLESetData()
(9) OLEStartDrag()
(10) UnDock()


Added methods:
(1) AddEvent()
(2) AddMethod()
(3) RemoveEvent()
(4) RemoveMethod()
(5) RemoveProperty()
(6) SaveAsRxml()


Removed methods:
(1) GetDockState()
(2) NewObject()
(3) OLEDrag()
(4) ReadExpression()
(5) ReadMode()
(6) ResetToDefault()
(7) SaveAs()
(8) SetViewPort()
(9) ShowWhatsThis()
(10) TextHeight()
(11) TextWidth()
(12) WhatsThisMode()
(13) WriteExpression()
(14) WriteMethod()

Best regards,
Rick C. Hodgin
 
On the form. Comments? Thoughts?

Added properties:
(1) RelativeToForMoves
Added specifically for the command window, but will work with any form. It's a setting which allows a form to always be moved when another form is moved. In VFrP, the command window is its own form presented as "ShowWindow=2 As Top-Level Form," and like all forms is modeless. This means it can be moved anywhere inside or outside the VFrP screen, and then by setting this property, it moves relative to that screen as it's moved. But moving the command window just simply moves it around, and does not move the screen.
(2) RelativeToForZOrder
Added specifically for the command window, but will work with any form. It's a setting which specifies that this form should always appear immediately above the form it's related to in the Zorder (so it's always drawn on top of it).


Removed properties:
(1) ActiveForm
In VFrP, all forms are modeless, so this feature is replaced by a global variable. There is a mechanism to allow a form to have modal focus, but it's not a form setting, it's a global environment condition which must be entered into. In a multi-threaded model, this arrangement is far more conducive to its requisites.
(2) BindControls
In VFrP, all memory variables are always bound to anything they're connected with, and changing them anywhere immediately propagates throughout the entire system everywhere they're in use.
(3) ColorSource
Always uses VFrP color source, so it is consistent across platforms.
(4) ContinuousScroll
Is implemented on a per-system basis based on the capabilities of the graphics card and window manager environment. Will operate like other apps in the same host.
(5) DEClass
(6) DEClassLibrary
(7) DefOleLCID -- handled in plugins
(8) Desktop
No forms are contained in the main VFrP window any longer, all are top-level modeless forms to facilitate the needs of a multi-threaded execution mode.
(9) DockPosition
(10) Dockable
(11) Docked
(12) DrawMode
(13) DrawStyle
(14) DrawWidth
(15) FillColor
(16) FillStyle
Have decided to write a graphics class which allows complex graphics to be created, and then transparently laid atop the form, so all drawing operations can be handled there. This also necessitates removing several methods which draw on the form.
(17) HScrollSmallChange
(18) HalfHeightCaption
(19) HelpContextID
(20) MDIForm
(21) MacDesktop
(22) OLEDragMode
(23) OLEDragPicture
(24) OLEDropEffects
(24) OLEDropHasData
(25) OLEDropMode
(26) ReleaseType
(27) ShowTips -- tool tips are always enabled in VFrP
(28) ShowWindow -- all forms are top-level, modeless forms in VFrP due to multi-threading requirements
(29) TabIndex -- useless at form level
(30) TabStop -- useless at form level
(31) VScrollSmallChange
(32) ViewPortHeight
(33) ViewPortLeft
(34) ViewPortTop
(35) ViewPortWidth
(36) WhatsThisButton
(37) WhatsThisHelp
(38) WhatsThisHelpID
(39) WindowType -- all windows are modeless in VFrP due to multi-threading requirements
(40) ZoomBox


Changes:
(1) this and thisForm not always required.
If referencing a named property, method, event or object, will assume in the order "this" and then "thisForm" relative to wherever the code is executing.
(2) Properties not previously honored in Windows versions of FoxPro will be honored in VFrP, including FontCondense, FontExtend, FontOutline, FontShadow. ZoomBox will not.
(3) HWnd will be a handle to the form's window, but it will not be the GDI's hwnd value, nor the equivalent on other platforms, but rather a handle to the internal window identifier for rendering. It cannot be used for SendMessage(), for example.
(4) KeyPreview will not only send the KeyPress event to the form before the control, but also the KeyPreProcess event to the form before as well.
(5) MouseIcon is an array, with the entries relating to the image to use for that setting in the MousePointer value.
(6) ScaleMode uses a range 0.1 to 4.0, defaults 1.0, indicates how large the window should be scaled for rendering relative to its defined literal size.
(7) ShowInTaskBar may have some issues on other platforms.
(8) TitleBar property is logical, not numerical
 
The wiki has been updated:

Code:
[url=http://www.visual-freepro.org/wiki/]Visual-FreePro Wiki[/url]

If you'd like write access to help me update the wiki, it would be appreciated.

Best regards,
Rick C. Hodgin

PS - "Wiki" stands for "What I Know Is..." Interesting, yes? :)
 
I think that's a very good idea.

I would rather add to your wiki, than here in several threads, keeps everything at one place, also for future reference.

Bye, Olaf.
 
IDE:
Scrolling forms
Automatic resizing and anchoring of controls on the form etc..

i don't know if that's possible, but File locking/Record locking



Ali Koumaiha
TeknoSoft Inc.
Michigan
 
how do you anticipate that working on existing VFP project that we have in production already?
i don't know if you did a write up on this or not...

i know you said, it is nearly 100% compatible.. however, how do you see the roadmap on taking an existing vfp 9 application, and turning it into VFreeP?

Ali Koumaiha
TeknoSoft Inc.
Michigan
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top