Having done additional editing, and having an incomplete result, I am posting the "work in progress" that my students are doing with the mini-paint program. Again, the problem is that the colorPicker is erasing part of the window. Catching the _wndRefresh in the doDialog fn and re-paint the PICTURE to the screen works. But it is a lame workaround and if a complicated picture then you can see each keystroke in order. What I am trying to do is re-paint the PICTURE picHandle& to a gWorld then copyBits it to the active Window all at once, cleanly and quickly. As far as the picture bits are concerned, it seems to work "ok." The color info is trashed. Am I doing the gWorld "stuff" correctly? Why do some programs lock pixels? and when? I am now getting color distortion.