1、有一个myFrame:TFrame变量他在不同的条件下分别被TFrame1.create(Self)和TFrame2.Create(Self)赋值;有什么方法可以的到当前的myFrame值是来自哪个TFrame创建的吗。
2、在一个Frame1上有个RadioGroup,他里面的Item的个数是跟据数据库中记录的数据个数动态生成的,但是每次生成时,界面都会不停的闪烁,怎么能让他不闪?
2、在一个Frame1上有个RadioGroup,他里面的Item的个数是跟据数据库中记录的数据个数动态生成的,但是每次生成时,界面都会不停的闪烁,怎么能让他不闪?
解决方案 »
- 求助db2(AS400)牛人啊!!! 急急急
- 求助 关于多线程的问题
- 求助:关于加载.net vcl component控件问题
- 帮忙看看这句话什么意思?
- vclskin的窗体最大化的问题。
- 用clientsocket 和serversocket 发送和接受流怎么样搞呢?
- 100分,请各位朋友帮忙,adotable这个mastersource和masterfields属性挡住我了??
- 过节了,技术大放送5:在TStatusBar上放置图形。
- 求教,关于ascii和字符逻辑运算的问题,请给出代码,谢谢
- 在存取DB时出现如下错误,如何解决:corrupt table-index-header-file:c\*****\?????.db
- 使用spcomm中遇到的问题,请帮忙!!!
- 想写一个小程序,线程的,并发进行,怎样写?
2.用ComboBox算了
......
LockWindowUpdate(0))//解锁窗体
RadioGroup1.Items.BeginUpdate
完了之后
RadioGroup1.Items.EndUpdate
可以解决从数据库中读取闪的问题
可以检测myFrame.ClassName
建立双缓冲,可以解决一部分问题。
如果还闪烁,在创建时插入
application.processmessage;
或者sleep(100);
aRunParamStr, aFormCaption: string);
var
lMDIChildForm: TForm;
begin
lMDIChildForm := FindChildForm(aFormClass);
if not Assigned(lMDIChildForm) then
begin
// 先鎖住屏幕
Perform(WM_SETREDRAW, 0, 0);
try
lMDIChildForm := aFormClass.Create(aRunParamStr, aFormCaption, Application.MainForm);
finally
// 解鎖屏幕
Perform(WM_SETREDRAW, 1, 0);
RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE +
RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
end;
lMDIChildForm.Caption := aFormCaption;
end;
lMDIChildForm.Show;
end;