Have You Seen My Segoe?

I was going to do a post about subclassing the Visual FoxPro Label base class, when I ran across a strange thing in my VFP IDE using Windows 8: “Segoe UI” is missing from the FontName dropdown in the VFP Properties window.

I have a form I created when I was using Windows 7. I had set my labels to use the “Segoe UI” 9pt font on the form.

When I opened the form with Windows 8, strange things started happening. When I clicked on the FontName property in the Properties window, the dropdown changed to an empty value. I clicked the dropdown and scrolled down to the Segoe fonts.

“Segoe UI” was GONE!

Even stranger, when I went back to the form and clicked on a label (while the FontName property was still selected in the Properties window), the label font changed to MS Sans Serif, the FontName property changed to [None], and the dropdown remained empty!

I ended up selecting “Segoe UI Symbol” from the Property window dropdown for FontName. It was the closest to “Segoe UI” I could find.

Has anyone else noticed this? Is it my machine? My VFP configuration? For what it’s worth, “Segoe UI” is installed on my system, and it also appears in the array created by AFONT().

Here’s a brief (2 minute) video I made showing the behavior. When I reference “AFONTS()” in the video, I meant “AFONT()”.


One Ugly App… LIVE!!!

Looking at screenshots is kind of boring, and there’s only about 100 people in the world that have seen my ugly app in-person, so I decided to do a screencast to show it off.

It’s 3 minutes and 56 seconds long. If you don’t want to watch the whole video, but would like to see how to go from “Fox Ugly” to “Fox Foxy” in just two clicks, feel free to jump ahead to the 3:30 mark.


For what it’s worth, I made up the fiverr story for the video (and the fiverr post is made up). If you use fiverr, no offense is intended.

If the YouTube frame isn’t shown on the page, click here to watch One Ugly App… LIVE!!!



Flicker-Free Web Pages (no javascript required)

I’ve spent the last few weeks playing with ASP.NET 2.0, and I’ve enjoyed using the AutoPostBack feature of the various server controls.

But one thing that drives me nuts is flickering web pages from the aforementioned AutoPostBack-enabled server controls, especially in the “Web 2.0 – Everything Is AJAX And If It’s Not It’s Just Crap” times we live in.

So, I started thinking more and more about AJAX, specifically the ASP.NET AJAX extensions. I started reading articles, help files, and book chapters but, doggone it, I just didn’t get the concept.

Then I watched a video on the ASP.NET web site that gave me the “a-ha!” moment I needed.

Basically, you just do the following:

  • Add a ScriptManager control to the page
  • Add an UpdatePanel control (for the piece of the page you want to update
  • Set the <ContentTemplate> tag of the UpdatePanel (this is the HTML you want displayed in the UpdatePanel part of the page)
  • Set the <Trigger> tag of the UpdatePanel, telling it which control and event on the page that should “fire” the update

I put together a small web site to demonstrate the results of the “a-ha!” moment, and also put together a screencast to show anyone that hasn’t yet had the “a-ha!” moment how easy it is to add partial page update functionality to an existing web page.  Be sure to click the “full-screen” button for best results.

Please, before I start getting comments about how elementary my code and examples are, let me say this: “I am a Visual FoxPro developer, not a .NET developer, and I’m learning this stuff day-by-day.”

And here’s a link for the code.

Side note: the downloads are hosted in a public folder I set up on Skydrive. No bandwidth charges, and no hosting charges! Just a thought for folks who might have something cool to share but do not want to pay out the wazoo if it becomes popular.


This post originally appeared on Blogger.

Screencast: Desktop Alert Callbacks

I’ve posted a new screencast (10 minutes, 48 seconds) which delves a little deeper into the callback functionality of the Desktop Alerts system.

It starts with a demo of the Desktop Alerts from Microsoft Excel, then looks at the code behind the spreadsheet, then digs a bit deeper into the SetCallback() method of the Alert class.

I had hoped to demo it right from the PowerPoint slides like I did at FoxForward, but I couldn’t get the Camtasia PowerPoint Add-In to “show” the actual alerts, so I re-did the demo in Excel.