Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Printing/Scrolling Checkboxes

Posted on 1998-08-17
1
Medium Priority
?
215 Views
Last Modified: 2013-12-03
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?
0
Comment
Question by:cpirrita
1 Comment
 
LVL 8

Accepted Solution

by:
Answers2000 earned 400 total points
ID: 1413576
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

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After several hours of googling I could not gather any information on this topic. There are several ways of controlling the USB port connected to any storage device. The best example of that is by changing the registry value of "HKEY_LOCAL_MACHINE\S…
For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question