BUG: Lines Drawn on Form Disappear After Menu Covers Them (180496)



The information in this article applies to:

  • Microsoft eMbedded Visual Basic 3.0
  • Microsoft Windows CE Toolkit for Visual Basic 6.0

This article was previously published under Q180496

SYMPTOMS

When a menu drops down and covers lines drawn directly on a form, the line that is covered will not be repainted correctly. This behavior also occurs with the CommandBar and MenuBar controls.

RESOLUTION

To avoid this problem, redraw the line in the Click event of the submenu. For example, if you have a File menu with a submenu named "New," add the following code for the "New" submenu Click event:
   Private Sub mnuNew_Click()
      'Normal New menu code here
      Drawline 0,0,1000,1000   'Redraw line.
   End Sub
				

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Windows CE Handheld PC Pro Project in either eMbedded Visual Basic or Visual Basic. Form1 is created by default.
  2. From the Project menu, choose Components and select the CommandBar control.
  3. Add a CommandBar control and a Command Button to Form1.
  4. Add the following code to Form1:
        Option Explicit
    
           Private Sub Command1_Click()
               DrawLine 0, 0, 1000, 1000
           End Sub
    
    Private Sub Form_Load()
        Dim mnuMain As CommandbarLib.CommandBarMenuBar
        Dim mnuFile As CommandbarLib.Item
        
        Set mnuMain = CommandBar1.Controls.Add(cbrMenuBar, "MainMenu")
        
        'add File menu items
        Set mnuFile = mnuMain.Items.Add(1, "File", "File")
            mnuFile.SubItems.Add , "Open", "Open"
            mnuFile.SubItems.Add , "Add", "Add"
            mnuFile.SubItems.Add , "Update", "Update"
            mnuFile.SubItems.Add , "Delete", "Delete"
    End Sub
    						
  5. Press F5 to run the project.
  6. Click on the CommandButton to draw a line.
  7. Select an option on the submenu and note that either all or part of the line does not get repainted.

Modification Type:MinorLast Reviewed:3/11/2005
Keywords:kbBug kbpending kbToolkit KB180496