您的位置:程序门 -> delphi -> windows sdk/api



线程同步问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


线程同步问题[已结贴,结贴人:xiezhenghai]
发表于:2007-01-10 22:29:42 楼主
首先,我想让rzpanel2里的组件随着窗体的变化而改变大小因此在rzpanel2的
procedure   tmainform.rzpanel2canresize(sender:   tobject;   var   newwidth,
    newheight:   integer;   var   resize:   boolean);   事件里定义了改变组件大小的方法
但是我现在想在一个button按钮的onclick事件里再该变rzpane2中组件的大小却不能改变了       经过多翻调试才知道   (我想)里面的组件大小已经被procedure   tmainform.rzpanel2canresize(sender:   tobject;   var   newwidth,
    newheight:   integer;   var   resize:   boolean);方法时时锁定了   ,即   此方法会间隔n   个时间就调用一次;
现在我能想到的解决办法就是线程同步;   可是rzpanel2中有多个组件     我不懂怎么样才能使当按下这个按钮时里面的组件成为临界资源。
谁能告诉我这个线程同步应该怎么写吗   (给出实例代码)
或者谁有更好的办法解决呢。
十分感谢
发表于:2007-01-10 22:41:281楼 得分:0
也许是我想错了
谁能指点下啊
发表于:2007-01-10 22:44:282楼 得分:0
现在又有一种想法是不是被   procedure   tmainform.rzpanel2canresize(sender:   tobject;   var   newwidth,
    newheight:   integer;   var   resize:   boolean);   方法调用过的组件改变其大小的不能再在其他的事件里改变此变量的大小拉
发表于:2007-01-10 23:05:113楼 得分:50
你说的问题跟线程没有关系吧。
避免多次触发resize可以这样,在适当的时候将onresize或canresize事件置空,做完全部操作后,再将其事件还原。
发表于:2007-01-10 23:16:174楼 得分:0
问题已经解决


快速检索

最新资讯
热门点击