MFC 关于调整控件位置

来源:百度知道 编辑:UC知道 时间:2024/06/20 11:06:07
在对话框中插入一个ActiveX控件,在对话框的初始化里重新调整控件的位置和大小,运行时可以看到效果,但是在控件上一点击鼠标左键,控件就立刻回到开始插入到对话框时的位置和大小了,为什么?!!!??
lweiyue说的的确是问题的根源,每次点击控件系统会自动重绘,又回到原来的位置了,但是我现在在重画的消息响应里加了自己写的调整位置的代码,但是这样我每次在控件上点击的时候都会去执行重绘来保证位置大小不变,这样画面不停闪烁啊,还有我是想人那个它感知鼠标点击执行其他事件呢,二者冲突吗

直接在OnDraw里面把这个控件画出来就行了,不用再初始化函数里面去做,出现闪烁的原因肯定是画面更新的方法不对,试一试Invalidate(FALSE),你这个东西应该和自绘制按钮差不多吧,我做过,不会出现闪烁,我做的是一个按钮为椭圆形,在鼠标移动到按钮上后,按钮的颜色会出现周期性的渐变,这样的东西都没有出现闪烁啊,肯定是更新窗体的方法不对

你没有在重画的那个消息响应里写些东西吧,在那里加上初始化时做的东西应该可以。
还有个EraceBackground函数,重载它,把它改为return FALSE,看看可不可以。