用鼠标移动TreeView件上的焦点

在窗体上放上ApplicationEvents1控件,在其OnMessage事件中添加如下代码:

AnsiString direct;//方向标志
int i=0;          //节点位置
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
      if(!TreeView1->Focused() && Msg.message == 257)//设置焦点
      {
            TreeView1->SetFocus();
            TreeView1->Selected = TreeView1->Items->Item[0];
      }

     if(Msg.message == WM_KEYUP && Msg.wParam == 38)//按下上箭头键
     {
        if(direct == "向下")
        {
          --i;
        }
        direct = "向上";

       --i;
       if(i<=-1)
       {
          i=0;
       }
       TreeView1->Selected = TreeView1->Items->Item[i];
     }

    if( Msg.message == WM_KEYUP && Msg.wParam == 40)//按下下箭头键
    {
         if(direct == "向上")++i;
         
         if(i >= TreeView1->Items->Count)
         {
            i=TreeView1->Items->Count-1;
         }

         direct = "向下";
         TreeView1->Selected = TreeView1->Items->Item[i];
         i++;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值