to y97523szb() 
我重载了OnEnter事件但是没有完成此功能。能够具体说一下吗

解决方案 »

  1.   

    FPnls: array[0..2]of TLayerPanel; FPnls[0] := pnl1;
    FPnls[1] := pnl2;
    FPnls[2] := pnl3;procedure pnl1Onclick(Sender: TObject);
    begin
      if Sender is TLayoutPanel then
        with Sender as TLayoutPanel do 
          UpdatePnls(Name);
    end;procedure UpdatePnls(pnlname: string);
    var
      i: Integer;
    begin
      for i := Low(FPnls) to High(FPnls)
      begin
        //去除FPnls[i]的标记的语句
        if FPnls[i].Name = pnlname then
        begin
          // 获得标记的语句;
        end;
      end;
    end;
    ================================================================曾经有一碗热辣辣的烧猪手面放在我面前,我没有珍惜,等到晾凉了之后才后悔莫及。
      

  2.   

    Jerry529(在猪的海洋里遨游) 
      我的Panel是动态创建的,可能不止有3个,那就不能用procedure pnl1Onclick(Sender: TObject);
      我声明了一个PanelClick(Sender: TObject)的函数,在动态生成TLayoutPanel时将pnl1.OnClick := PanelClick,pnl2.OnClick := PanelClick,pnl3.OnClick := PanelCLick.....
      但是,我在调试该程序时单击了pnl1,pnl2...没有执行pnl1.OnClick,pnl1.OnClick,不知道为什么?
      

  3.   

    其实你已走到边缘,既然在ONENTER处理聚焦事件,在ONEXIT中处理不再聚焦事件不就行了。我试了一下,OK。