在哪里可以定义:  窗口上有3个编辑框(Edit1,edit2,edit3). 下列操作可以用一个过程来完成吗?  case Test of
    Edit1 : showmessage('Focus in Edit1');
    Edit2 : showmessage('Focus in Edit1');
    Edit3 : showmessage('Focus in Edit1');
  end;这样可以吗??? 如何做???在那个过程???

解决方案 »

  1.   

    太急..写错了~~case Test of
        Edit1 : showmessage('Focus in Edit1');
        Edit2 : showmessage('Focus in Edit2');
        Edit3 : showmessage('Focus in Edit3');
    end;意思是判断焦点在那个控件上~~~谢谢了...
      

  2.   

    可以。例:聲明過程:
    Procedure SetColumnsBes(GirdName:TDBGrid);   //設置DBgrid的顯示外觀過程內容:
    Procedure TdfrmProc_Mrp.SetColumnsBes(GirdName:TDBGrid);
    var i:integer;
    begin
     For i:=0 to GirdName.Columns.Count-1 do
     begin
       if (GirdName.Columns[i].FieldName='ID')  or (GirdName.Columns[i].FieldName='Code_No') then
         GirdName.Columns[i].Visible:=False
       else
         GirdName.Columns[i].Title.Alignment :=taCenter ;
     end;   //end for
     GirdName.Columns[0].Width:=80;
     Tstringgrid(GirdName).DefaultRowHeight:=30;   //設定行的高度
     Tstringgrid(GirdName).RowHeights[0]:=20;  //設置標題行高度
    end;調用:
       SetColumnsBes(DBGrid2);
      

  3.   

    聲明:
    Procedure SetColumnsBes(Test:TEdit);   
    內容:
    Procedure SetColumnsBes(Test:TEdit);   
    begin
       showmessage('Focus in '+Test.Name);
    end;
    調用:
       SetColumnsBes(Edit1);
      

  4.   

    可以直接在TEdit上吗?意思是判断焦点在那个控件上~~~