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!

VFP Skins Question 1

Status
Not open for further replies.

crewchiefpro5

Programmer
Dec 17, 2004
33
US
Anybody use vfpskins? I am having problems with it and tech support is very slow.

I have forms that worked great with the demo version, now I bought the full version and it is giving me errors out the wazzu. These errors are in the init and include "Must specify additional parameters" but the setup is exactly like the demo which worked fine. I have no custom coding that is different.

Anyone get this to work using data driven methods of selecting the skin you want in runtime without using the Open Skins file box?



Don Higgins
Crew Chief Pro Racing Analysis Software
 
Don,

Did you ever receive the support you were looking for?

What's your take on the VFP Skins library?

Thanks,
Malcolm
 
Don,

There are a number of threads on the VFP-General Coding issues form about skins. Perhaps one of them will help?


Hope that helps,

Stewart
PS If you want to get the best response to a question, please check out FAQ184-2483 first.
 
I was able to make the skins work well EXCEPT that the form resizer failed when skins were used.

If anyone has a workaround for this let me know.

I wrote a bunch of code to make the skins user selectable and keep their selection in a dbf which works great. If anyone needs this let me know.

Overall I like the skins, they are a bit slower to load but more exciting than anything else I have tried.

Don
 
Don,

Has the skin feature been well received by your users?

I'm curious to hear what your users think.

Malcolm
 
The skins are well received by my users. I have given them the ability to save their choices, as well as remove the skins on slower machines.

Their only complaint is the INABILITY to resize the form. This is a fine example of what can be done with foxpro, and I am sure the future of the product is very good.

I use a setup dbf file that I store the choices and in the init of the form I recall them:
*** now open setup and replace the field with the choice the user made

IF ! USED("SETUP")
SELECT 0
USE SETUP
ELSE
SELECT SETUP
ENDIF

THIS.VFPSkin1.SetSkinName(setup.MySkinName)
** we just set the skinname above

I make sure that I DO NOT set any skinname in the properties also, this causes screen flicker if the skin name is not the same as the default.

This is pretty simple stuff, that for some reason took me a bunch of time to finalize. I have much more code for the use of these skins if anyone else needs it.

 
Crewchiefpro6,

I would appreciate seeing any code you're willing to share. I'm on the fence about supporting this functionality. I know my users will love this capability, but I want to make sure I don't bite off more than I can handle.

Right now, all my forms are resizable and have custom code that handles form specific control movement and growth. I'm wondering if that rules out the use of VFP Skins for me?

Your quote "This is pretty simple stuff, that for some reason took me a bunch of time to finalize." has me laughing. That is THE hidden truth of software development! Things always LOOK simple after you've gotten them working - sort of like finding a lost item in the last place you looked.

Thanks for sharing your experience,

Malcolm
 
I sent a message to the developers of both VFPSKINS and MWRESIZE (my resize class) with each others classes. I hope that VFPSKINS people can find a way to resize their forms without degrading performance.

I use the VFPSkins classes on all my smaller forms that do not need resizing and they work great. On my larger forms I still use them, but the resizer is turned off.

Here is some of the code I use to reset the skins. This button on the form has the following CLICK event code:

*** reset the form's skin property to their choice
***
** these 2 methods are part of vfpskins
ThisForm.Vfpskin1.setskinname()
ThisForm.Vfpskin1.changeskin()

** hold the alias used into memory to restore later
lselect=alias()

*** now open dealer and replace the field with the choice the user made
IF USED("dealer")
SELECT dealer
ELSE
SELECT 0
USE dealer
ENDIF

REPLACE dskinname WITH Thisform.VFPSkin1.cskinname
lcwhatskin=ALLTRIM(dealer.dskinname)


** strip out extension and path and return info
** this is used on the form to display the actual
** skin name without any file extensions which they dont
** care about anyway.

DO stripext IN main WITH lcwhatskin
DO strippath IN main WITH lcwhatskin

** now display the skin name without extensions on the form
Thisform.txttheme.value=lcwhatskin

** make the skin name field active
thisform.txttheme.Visible=.t.

thisform.Refresh()
***
SELECT (lselect)
*********************************
****** end of click procedure ***
*********************************

Actually it is pretty easy to use this class
Drop it on the form

Put the code in the init to determine the skin name selected

Make sure there is no default skinname

Make a button to change the skins

Have a field visible to let them know what skin they selected (many of my customers looked thru all of them
and forgot which ones they liked, so that is why I display it)

 
Crewchiefpro6,

Perfect, that gives me a good taste of what's involved.

Thanks for taking the time to share your experience and technique with me.

Malcolm
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top