[comp.windows.ms] Subclassing an edit field

bturner@hpcvlx.HP.COM (Bill Turner) (01/27/89)

I've gotten quite a few requests for an example of subclassing an edit field.
The attached file is an archive of the source for the program, which creates
a dialog box and subclasses the edit field.  It was archived with PKARC 5.??
(can't remember exactly which version...).

Enjoy!

--Bill Turner
------------------------------------cut here------------------------------------
begin 644 filter.arc
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
'+2O**$4: %Q8
 
end

bturner@hpcvlx.HP.COM (Bill Turner) (01/28/89)

After getting back to my PC, I found that I have PKARC 3.5 -- I knew there was
a 5 in it someplace!  Sorry about any confusion caused.

--Bill Turner