BBS: Inland Empire Archive Date: 10-26-92 (10:26) Number: 344 From: MICHAEL MALLEY Refer#: NONE To: ALL Recvd: NO Subj: VB/DOS Bugs/Fixes 3/ Conf: (2) Quik_Bas
>>> Continued from previous message 10. Using the Show method on a form that has not previously been loaded causes the underlying form's shadow to not be cleared if that form's shadow rests on another form. Explanation: When a form recieves focus, that form will have a shadow along the bottom and the right sides of the form, and no other forms should have a shadow. If you use the Show method (Form.SHOW) on a form that was not previously loaded either by the Show method or the Load method, and if the current form's shadow is drawn on top of another form, then the portions of the current form's shadow that are on other forms will not be cleared. The portions of the shadow that are in the desktop will be. If the form is hidden and shown again, all shadow attributes are shown correctly. Solution: Prior to showing a form that may be called while two or more forms are shown, use the Load method, and then show the form: LOAD Form1 Form1.SHOW 11. A form's shadow is not totally cleared when the form is hidden. Explanation: When a form looses focus or is hidden the shadow is supposed to be cleared from the screen. I have not been able to pinpoint the exact circumstances yet, but it appears to occur under these conditions: Multiple forms are on the screen The form that is hidden is placed on top of a form that is also on top of another form. The hidden form's border falls between the border of the upper most form, and the lowest form. +-----------------------------------+ | Form 1 | |+---------------------------+ | || Form 2 | | || +---------------------------+ | || | Form3 | | || | | | || +---------------------------+ | |+---------------------------+ | +-----------------------------------+ In the above example, when Form3 is cleared, it's left shaddow will still reside on Form1. As I said, sometimes it happens, and sometimes it doesn't. I think it is a combination of modal forms, but I'm not too sure. Solution: Change the location of the offending form, or use the Refresh method on the form that the shadow resides on in the code that hides/unloads the offending form. Thaba-thaba-thaba, That's All Folks! I hope my headaches and loss of hair have helped someone else avoid the hours I spent going "But it looks right..." - Michael ;) * SLMR 2.1a * Help me! Someone turned reality back on. --- Maximus 2.00 * Origin: The Line Source BBS, Maximus [CBCS] (717)236-1375) (1:270/116)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET