> You could set ListIndex to -1 when your dialog closes. That will
> "clear" the popup of any selection, putting it back to an initial
> state. Now any selection, even a repeat, will fire the Change event.
> If you are using ShowModal for opening your dialog from your main
> window just do:
> 
> MyDialogWindow.ShowModal      // shows dialog
> self.PopUpMenu1.ListIndex = -1  // executes when dialog closes or hides
> 
> If you are not using ShowModal, just put the following in the Close
> event of the dialog:
> 
> MyMainWindow.PopUpMenu1.ListIndex = -1   // be wary of implicit
> instantiaton

The problem with this is that it keeps the PopUp from showing the current
selection, which is important.

> This is an example of where "new event" could come in handy.>

>    Create a custom Subclass of popupmenu.
>    Give it a property: lastTxt As String
>    Give it a new "Change" event: Change (txt As String)

>In the custom class's Change event:

>    lastTxt = Me.Text
>    Change lastTxt // passes lastTxt to the instance's change event.

>In the custom class's 'MouseUp' event:

I tried Phil's "new event" suggestion, which is pretty cool (and I learned
something from it), but has a fatal flaw: The MouseUp event doesn't fire
unless you pass True to the MouseDown event, and when you do that RB assumes
you're handling the whole shebang and nothing pops up at all.

I also tried a Combo box, which isn't really suitable as my categories are
fixed and therefore prone to user error (not to mention extra mouse clicks).
Oddly enough, a Combo box returns a Changed event even when the user chooses
the same category again. Odd, because it's super is PopUpMenu and I would
have expected them to behave similarly.

Any further suggestions?

- John


_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to