Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Downloads
Search: 

Active-X friendly Splitter control
Gérald Santerre, Gerald Santerre enrg.
The splitter class can be placed on forms between controls that need to share the same space. This will give you the same functionality that you have in Windows Explorer where you can split the treeview and listview panes. This class can resize Active-X controls like MS Treeview or MS Browser. UPDATE 2007-05-30: Loosing DLLs declarations -- In some case, the API declarations are lost by some routines out of the splitter scope. For these cases, the error() method now re-declare the API calls.
Created on
20 years ago
Downloads
3043
File type
Freeware
Rating
4.80/5.00
General information
Rating:
4.80/5.00 (5 rates) Rate this item
Description
Active-X controls always drive me nuts because they use their own windows handle. You cannot put a fox native control over them to resize the control visually. You have to use some tricks like changing the control to another one for this operation and rechange it back after. ( See the class browser code ) What I want is a splitter that can handle this in a visual way while keeping the form (look) unchanged until the end of the split. After many try and fail, I have finally found a way to do it by the use of API calls. NOW IT WORKS!!! Days of work to end with only a couple of code lines :) I am not an API guru, so if you find a way to improve this class feel free to let me know how :) Tested with VFP 8 on Windows 2000 (no animal other than the usual fox was used in the tests) Disclaimer: (...) <- put the usual disclaimer here! Gérald Santerre gerald.santerre@siteintranet.qc.ca USAGE: Drop this class on a form between the objects that share the same parent container. New and (I hope) final release (august 4) VFP 7 compatiblility restored! The splitter can be used in VFP 7. The VFP 8 only functions and collection used in the previous version have been removed and changed for VFP 7 compatible functions and array. Speed improvement! The splitter is now snappier than before. The screen capture is limited to the portion that will be covered by the splitter and updated while the splitter is moved on the form. (july 26) Complete redesign. If you already use a previous version of the class, read this carefully. I have removed a couple of properties and changed the way the classes work. For this reason I have also renamed the classlib to avoid conflicts with previous version of the class. The new design is cleaner and the control doesn't touch anything in the form (except hiding controls during split). A large part of the new design is from suggestions received from "Jaromír Stacha" from Czech Republic. Thank you Jaromir :). The new splitter classes don't move or resize controls anymore. The splitter.split() method is always called after a split operation and you have to resize/reposition your controls from this (fake) event. If you don't put code in the split() method, the form.resize() event of the form will be called. See the resize() and splitter1.split() method of this form for a working sample. You have only 2 properties to set in the class, RangeMin and RangeMax. If you set the value of these properties between 0 and 1, the value is handled as a % of the splitter's parent container width ot height. For example, if you enter 0.2 as value for RangeMin, you will be able to move the splitter down to 20% of the width/height of the splitter's parent container. Values greater than 1 will be handled as absolute values. Don't forget to reset absolute values when the splitter's parent container is resized. The splitter API is now self contained and you don't have to worry about releasing the references to API functions. The splitter now also handles correctly multiple instances of the same form (or forms with the same name). The splitter automatically hides all controls that are in the same parent container (recursive) to avoid side effects (like mouse cursor beam over text boxes). Check the demo form for a working sample. Happy splitting :)
Created by
Gérald Santerre, Gerald Santerre enrg.
Gérald Santerre joined the Universal Thread team in November 2001. After the completion of his programming course, he began working for a small shop with FoxPro Windows. A couple of months later, Microsoft launched Visual FoxPro 3 and he started his journey in the world of OOP. He worked for the National Bank of Canada Intranet doing Web programming with VFP. Since January 2001, he became self employed and he has designed some applications for the Nortel Network's, Bombardier's Intranet site and...

Comments
Update! After some more testings, I have discovered that if ShowWindow=2 (top level) the class dont work as expected. This problem is solved now. If you have downloded the may 7 release, donwload it again. Sorry :) I have also added a second splitter (top/bottom) to the classlib. Update (may 9): I have optimized the screen capture, the control capture only the needed part of the form instead of the whole form. The splitting is smoother now, even with large forms. Gérald Santerre, May 6, 2004

Gerald, Very nice ! Greg Foote, May 10, 2004

Thanks Greg :) Gérald Santerre, May 10, 2004

Just like to say what an Excellent class, will be using quite a lot in future, thanks again. Simon Arnold, September 1, 2004

October 10, a small typo in the splitter2 class was corrected. Gérald Santerre, October 10, 2004

Geez', this is smart work. Tx a lot for some neat coding... Boudewijn Lutgerink, December 23, 2004

That's an excellent class. Unfortunately I find it after 8 years of created... :( Thank you... Metin Emre, November 15, 2012

Add a comment
More downloads created from this member
Gérald Santerre, Gerald Santerre enrg.
The VFP-XP-Controls classes was designed to match the Microsoft Windows XP Visual Guidelines. The Visual Guideline can be downloaded from the MS Site. I made those classes to provide a way to match the visuals of XP using only VFP code and controls. For compatibility with Windows standards (themes, ...
Created on
22 years ago
Downloads
2232
File type
Gérald Santerre, Gerald Santerre enrg.
Oh no, not another Progressbar! Yes, but with the release of XP, you need to update your toolbox in order to be "en vogue". This progressbar was designed to match the visual style of Windows XP. It look the same as the progressbar you can see when copying files in XP.
Created on
22 years ago
Downloads
2485
File type
Rating
5.00/5.00
Gérald Santerre, Gerald Santerre enrg.
You must have VFP5 runtime installed in order to play. This game was the VFP version of a very funny board puzzle (rushhour). All you have to do is to help the red car stocked in the traffic jam. To move a car or a truck, click on it and on the destination square on the board. The puzzle is solv...
Created on
25 years ago
Downloads
957
File type
Gérald Santerre, Gerald Santerre enrg.
This is a simple program (PRG) to dump a DBF file to an HTML file.
Created on
26 years ago
Downloads
1824
File type
Gérald Santerre, Gerald Santerre enrg.
Function seeker can list all 'function', procedure' and 'define class' of all PRGs in a selected directories OR PROJECT. It display this list in a toolbar and allow an instant access to this functions in a button click! It can also copy a sample call to your function in the clipboard with all pa...
Created on
26 years ago
Downloads
1561
File type
Gérald Santerre, Gerald Santerre enrg.
IE4Toolbar Class Run the IE4Tool.PRG to view the demo in action! Open the IE4Tool.PRG to see how to implement the class in your programs.
Created on
26 years ago
Downloads
2102
File type
Gérald Santerre, Gerald Santerre enrg.
Outlook toolbar class. It really looks like the real one! This zipfile contains a classlib and a sample form. For more info, run the form and click the 'more info...' button.
Created on
26 years ago
Downloads
3908
File type
Gérald Santerre, Gerald Santerre enrg.
Resizing and Moving controls at run time? Yes, it's easy! This classlib contains a subclassed shape with all the code needed (and more) to move or resize it at run time.
Created on
26 years ago
Downloads
1776
File type
Rating
5.00/5.00
Gérald Santerre, Gerald Santerre enrg.
This zip file contain a classlib with all you need to enabled a OnMouseOut event in your objects! A new second parameter "nTimeOut", give you the equivalent of delaying the MouseMove event. It also contain a sample form, try it... See the 'ReadMe' method of the IsMouseOut Object for more info....
Created on
26 years ago
Downloads
2077
File type
Rating
4.00/5.00
Gérald Santerre, Gerald Santerre enrg.
Select your grid on the form designer and run this form from the Program/Do/Form menu. From there you can customize the layout of your grid in a straitfoward way...
Created on
26 years ago
Downloads
2368
File type
Gérald Santerre, Gerald Santerre enrg.
This form can be run on desing mode to help you set a lot of commonly used properties in two simple steps. Select some controls on your form, set the properties on the GSQuickBuilder and click Apply!
Created on
27 years ago
Downloads
1505
File type
Gérald Santerre, Gerald Santerre enrg.
Automatic creation of name for selected controls on form. And BTW, a builder sample.
Created on
27 years ago
Downloads
854
File type