如何让窗体一打开光标落在TComboBox1里的一个默认字符"光"后,我的窗体类型是fsMDIChild

解决方案 »

  1.   

    落在combobox没啥问题(setfocus),要落在字后面!不晓得!
      

  2.   

    在formshow事件中写,
    combobox1.setfocus;
    不过要落在字后面,就不知道了。学习ing
      

  3.   

    光标落在TComboBox1里的一个默认字符"光"后 -- 是啥意思??
      

  4.   

    TO: suuare(督察) 
    我TComboBox1里的TEXT默认值是"光",我想让闪动的光标一打开窗体就落在"光"的后面,而且"光"不是反选状态,可以直接往里输入后面的文字,不知我的表达清楚了没?
      

  5.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      ComboBox1.SetFocus;
      ComboBox1.SelStart := 2 ;
    end;
    看看是不是这样子,是就给分,其中ComboBox1.TEXT :='光'
      

  6.   

    <p><font color="#0000FF">借用贵宝地,测试一下</font></p>
      

  7.   

    procedure
      

  8.   

    TO:anway(狂写代码!狂吃萝卜菜) 
    你那种写法我试过,在fsNormal,fsMDIForm类型的窗体中不行,但在fsMDIChild类型的窗体中不行,请问还有别的办法吗?急呀
      

  9.   

    经实验,在fsMDIChild中的确不行,再想想!!
      

  10.   

    还望anway(狂写代码!狂吃萝卜菜) 多多帮助!~
    在下不胜感激~!!~
      

  11.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      ComboBox1.SetFocus;
      ComboBox1.SelStart := pos('光',ComboBox1.text) ;//参数顺序不记得了
    end;
      

  12.   

    TO:Blakhawk(黑鹰船长)你的方法跟 anway(狂写代码!狂吃萝卜菜) 一样呀,还是反选状态,难道就没办法了吗?
      

  13.   

    use setcursorpos(canvas.textwidth('?????光')+form.left+cobo.left,y);
      

  14.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      ComboBox1.SetFocus;
      ComboBox1.SelStart := pos('光',ComboBox1.text) ;//参数顺序不记得了
      Combobox1.SelLength := 0;
    end;
      

  15.   

    小弟有个苯办法:将窗体的keypreview属性设为true;procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var str:string;
    begin
      if combobox1.Focused then
      begin
        str:=combobox1.text;
        combobox1.text:='';
        combobox1.text:=str;
        ComboBox1.SelStart := pos('光',ComboBox1.text)+2 ;
      end;
      

  16.   

    写在这里也可以
    procedure TForm1.FormPaint(Sender: TObject);
    var str:string;
    begin
      if combobox1.Focused then
      begin
        str:=combobox1.text;
        combobox1.text:='';
        combobox1.text:=str;
        ComboBox1.SelStart := pos('光',ComboBox1.text)+2 ;
      end;
    end;
      

  17.   

    var
      editform:Teditform;
      a:boolean;
    procedure TEditForm.FormShow(Sender: TObject);
    begin
      a:=true;
    end;
    procedure TEditForm.FormPaint(Sender: TObject);
    begin
      if a then 
      begin
        COMBOBOX1.SetFocus;
        cOMBOBOX1.SelStart := 2;
        COMBOBOX1.SelLength :=0;
        a := false;
      end;
    end;