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