Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] Focus problem with new widget... I think

Hack your new control to override subclass() and unsubclass() to do
nothing.
Does the problem go away?

Steve



                                                                                                                                           
                      "Rob Hughes"                                                                                                         
                      <rhughes@xxxxxxxxxxxxxx         To:      <platform-swt-dev@xxxxxxxxxxx>                                              
                      >                               cc:                                                                                  
                      Sent by:                        Subject: [platform-swt-dev] Focus problem with new widget... I think                 
                      platform-swt-dev-admin@                                                                                              
                      eclipse.org                                                                                                          
                                                                                                                                           
                                                                                                                                           
                      06/25/02 01:59 AM                                                                                                    
                      Please respond to                                                                                                    
                      platform-swt-dev                                                                                                     
                                                                                                                                           
                                                                                                                                           



I'm trying to make a new widget that wraps the win32 DateTimePicker
control.  Everything is working great except for 1 problem that I can't
seem to trace down, mainly due to my limited knowledge of the inner
workings of SWT.

The DateTimePicker Control has a popup window to allow the user to pick
the date.  This is presented via a drop down arrow button similar to a
combo box.  When the popup is activated by a left mouse click and then a
date is picked with a left mouse click, the popup is closed
automatically and the new date is put in the edit field.  However the
app is in a funny state focus wise I believe( could be wrong here ).
The app no longer responds to mouse movements as far as hot tracking,
button pushing, list selection, and such.  I have to left click anywhere
in the app to restore normal behavior.  I'm not sure why this is
happening.  It seems to stem from the fact that I clicked outside of the
bounds of the original date picker edit area in choosing the date.  If I
drop down the picker with the keyboard shortcut and then pick the date
with the mouse this behavior does not happen.  It only happens if I
click the drop down arrow with the mouse.

The class I'm creating extends Control and only overrides a minimal set
of super functions(callWindowProc, checkStyle, widgetStyle, windowClass,
windowProc).

Things I have tried.
I noticed Combo overrides WM_SETFOCUS and WM_KILLFOCUS because it
receives similar notifications in the WM_COMMAND messages.  DatePicker
receives the same kind of messages in the WM_NOTIFY message so I tried
processing it the same as Combo to no avail.

I modified hasFocus() to take into account when the popup was visible.

I'm not sure what else to try, this could not even be a focus problem
:).

Rob Hughes

_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-swt-dev






Back to the top