放到另外一个窗体上,窗体位于主窗体上方,改变窗体的LEFT属性,可以吗
解决方案 »
- 记时器代码问题,高手帮忙看一下.
- 关于函数SETLENGHT在编译时出错问题,请指点一二。谢谢
- DevExpress PrintSystem 空件的问题请教......在线等
- 怎样得到GRID中现在正在输入的值?
- 请大家表意见!ADO联接与BDE联接数据库......(欢迎参于)
- 关于ClientDataSet
- 请问RAVE如何实现自定义的报表打印?
- Delphi6在2000下编的程序怎么在98下就变样了???
- 类型库到底是什么??具体使用在哪些方面呢?100分求答案,在线等待
- 请问:哪位大侠知道Delphi里有没有流动控件可以注册的啊?
- 如何知道TRichEdit控件的某一行的行高
- 应该是不难的问题?关于Object PASCAL的/运算符
做什么
另外在确定位置时你可用SetBounds方法,
事实上你设置了listbox1.left就是调用了SetBounds
肯定会闪,直接用SetBounds会好一点
if not IsExist then
begin
ListBox1 := TListBox.Create(nil);
ListBox1.Parent := GroupBox1;
ListBox1.Left := Edit1.Left;
ListBox1.Top := Edit1.Top + Edit1.Height + 2;
ListBox1.Width := Edit1.Width;
IsExist := True;
end;
只是第一次生成时GroupBox也闪动,能否不让其闪?
ListBox1.SetBounds(Edit1.Left, Edit1.Top + Edit1.Height + 2, Edit1.Width, 97)
ListBox重画: Listbox1.Repaint ; 就可以了!
//还是先放一个Listbox在GroupBox中吧,设置visible := false ;
if not IsExist then
begin
ListBox1 := TListBox.Create(nil); //!!!!
SendMessage( ListBox1.Handle, WM_SETREDRAW, 0, 0 );// 禁止绘画
ListBox1.Parent := GroupBox1;
ListBox1.Left := Edit1.Left;
ListBox1.Top := Edit1.Top + Edit1.Height + 2;
ListBox1.Width := Edit1.Width;
SendMessage( ListBox1.Handle, WM_SETREDRAW, 1, 0 );// 允许绘画
ListBox1.Refresh;
IsExist := True;
end;另外要说明的是:
ListBox1 := TListBox.Create(nil);
最好改成:
ListBox1 := TListBox.Create(Self);
否则有可能出问题