I've written other replies on this subject. Usually comes down to a single advice: Redo from scratch.
Your clipper app was designed with 'serialisation' in mind, I think, and never intended to react to events happening on keyboard entry or mouseclicks etc. like current windows environments provide.
In the cases I was involved, and there were quite some, applications big and small, we never regretted going for a total overhaul of the system, starting with the design phase, or 'drawing board' stage. First thing we did was throw out anything that looks like clipper/xbase as the language was not designed to handle the new tasks, and is now almost a 'single vendor' solution. CA quit Clipper years ago and screw up VO, and xBase++ is the only serious commercial xbase around these days. I know about harbour, fivewin and other initiatives, and I've followed them for a few years, but in the long run you're just driving up the hill backward, on a bicycle, while other tools (Delphi, VB, C#, Java) can give you a windows based headstart: halfway that same hill, using a hotrod to get up. Once you know how to drive it, you'll drive it fast!
If you are still going for xBase dev. because of a lot of Clipper knowledge, please understand that 'old' clipper writers may also want or need a new 'toy' from time to time... and they 'll have to learn windows programming from the inside out, instead of from the outside in :-(
All I ever did to keep old Clipper apps 'alive' was add some functions to handle the clipboard (OSLIB) and printing to networked printers, the rest I postponed to a 'real' windows application.
HTH
TonHu