combobox的内容不是固定的,
在有选项的时候,宽度会动态变化,但是
在没有选项的时候,combobox的宽度就变得很小
我想设置一个最小宽度,当没有选项的时候,不至于变得很短,请问怎么设啊

解决方案 »

  1.   

    这是DELPHI的演示代码:   
      Here   is   a   DEMO:   (I   forget   Why   I   wrote   it   in   1997)   
        
      procedure   TForm1.Button1Click(Sender:   TObject);   
      var   
      dd:array[0..100]   of   Char;   
      PHdc:Hdc;   
      SZ:Tsize;   
      RGN1,RGN:HRgn;   
      begin   
        
      SetWindowRgn(Handle,RgnBack,True);   
        
      Phdc:=Form1.Canvas.Handle;   
      StrPcopy(dd,Edit1.Text);   
        
      SelectObject(Phdc,Label1.Font.Handle);   
      beginpath(PHdc);   
        TextOut(Phdc,0,0,@dd,length(dd));   
      Endpath(PHdc);   
        
      GetTextExtentPoint(Phdc,dd,length(dd),SZ);   
      RGN:=CreateRectRgn(0,0,SZ.Cx,SZ.Cy);   
      RGN1:=PathToRegion(Phdc);   
      CombineRgn(RGN,RGN,RGN1,RGN_Xor);   
        
      SetWindowRgn(handle,RGN,true);   
        
      form1.Clientwidth:=SZ.Cx;   
      Form1.ClientHeight:=SZ.CY;   
        
      end;   
      

  2.   

    解决了,下面是最小值 300If 条件 Then
        Me.ddl.Width = New Unit(300)
    Else
        Me.ddl.Width = Nothing
    End If