Printing/Scrolling Checkboxes

Windows 3.1 'C' program using Borland 4.5
When processing WM_PAINT messages I call a function
that determines the X,Y coordinates and then writes
out some text/graphics and also uses a MoveWindow
to properly place some Checkboxes.  These Checkboxes
were created during the WM_CREATE message and arbritarily
placed at the top left corner at a size of 1 pixel.
To implement scrolling I basically used an example from
the Petzold book that setsthe scroll pos/range while
processing the scrollbar messages, and a SetWindowOrg
while processing the WM_PAINT.
This seems a little slow to me since each checkbox
must be moved via the MoveWindow.  Is there another
method to scroll the text/graphics/checkboxes that looks
more fluid.
Also, when I print I simply pass the HDC of the printer in to the function.  Everything pronts but the CheckBoxes
(not that I expected them to) How does one print Window
controls such as checkboxes?
cpirritaAsked:
Who is Participating?
 
Answers2000Connect With a Mentor Commented:
For smoother scrolling
1. Create a modeless dialog covering the surface of your whole window.  This should have no caption and WS_CHILD style.  All controls except scroll bars should be children of this window.
2. Make sure the container for the modeless dialog has WS_CLIPCHILDREN style
3. Move the modeless dialog rather than the individual controls, this way you can do the move with one op.

To print
1. Create a memory bitmap (CreateCompatibleBitmap), and DC (CreateCompatibleDC).  Select the bitmap into the DC
2. GetDC on the modeless dialog
3. BitBlt from #2 to #1
4. ReleaseDC on the modeless dialog
5. Send the bitmap to the printer
6. Clear up #1

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.