RE: Treeview Rant !
euman at bellsouth.net wrote:
> Thanks Derek either I dont understand your responce or
> you misinterpreted mine.
>
> 25 is never a returned value in vKey = peek(lParam + 12)
>
> If I hold down the shift + tab keys at the same time only
> the tab key or '9' is returned.
>
> I might need to use HKM_SETHOTKEY as a work around
>
My fault. I guess I totally misunderstood your problem.
When you wrote "works really good" I assumed that the code example was
working to your satisfaction and that you were asking a hypothetical
question.
Anyhow, if the TreeView notifications don't give you the state of the
shift keys, you might have to consider calling either "GetAsyncKeyState"
or "GetKeyState" , or maybe even "GetLastInputInfo" to find out if the
shift key(s) are down or up.
----
Derek.
> ----- Original Message -----
> From: "Derek Parnell" <ddparnell at bigpond.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Wednesday, April 24, 2002 1:59 AM
> Subject: RE: Treeview Rant !
>
>
> > euman at bellsouth.net wrote:
> > > Hello all,
> > >
> > > I found what I consider to be a bug in the Treeview control
> > >
> > > consider this bit of code. ->
> > >
> > > elsif iMsg = TVN_KEYDOWN then
> > > vKey = peek(lParam + 12) --struct tagTVKEYDOWN (WORD wVKey)
> > > if vKey = 9 then
> > > SetFocus(futurecontrol)
> > > elsif vKey = 25 then -- should be shift+tab
> > > SetFocus(previouscontrol)
> > > end if
> > > end if
> > >
> > > works really good but what if someone wanted to reverse the taborder
> > > direction
> > > for focus purposes?
> > >
> > > shift+tab "or" shift = 16 + tab = 9 should be vKey = 25
> > > but this control doesnt handle this in the right way thus returning vKey
> > >
> > > = 9
> > >
> > > you cant go backward from a Treeview control, unless someone can provide
> > >
> > > a
> > > work around...
> > >
> >
> > This one way you might like to try:
> >
> > if StandardTabbing then
> > ForwardTab = 9
> > BackwardTab = 25
> > else
> > ForwardTab = 25
> > BackwardTab = 9
> > end if
> >
> > . . .
> >
> > elsif iMsg = TVN_KEYDOWN then
> > vKey = peek(lParam + 12) --struct tagTVKEYDOWN (WORD wVKey)
> > if vKey = ForwardTab then
> > SetFocus(futurecontrol)
> > elsif vKey = BackwardTab then -- should be shift+tab
> > SetFocus(previouscontrol)
> > end if
> > end if
> >
> > -------------
> > This hightlights the problems of too much hard-coding.
> >
> > -----
> > Derek.
>
>
|
Not Categorized, Please Help
|
|