VB/DOS Bugs/Fixes 3/

 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)
Outer Court
Echo Basic Postings

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