加载中

MFC中在CScrollView中添加单选按钮或复选框时,控件绘制问题

问题描述

由于在实际应用中,可能要动态添加控件数组(即控件的数量是可变的,数据改变,控件的数量要相应地改变)便需要使用CScrollView,但是在CScrollView中添加单选按钮或复选框时,若控件不在滚动条在初始位置时可见,而在滚动条滚动后方可见到,此时控件会绘制成一块黑色,如图所示:

解决方案

这里给出我最后使用的解决方案:将基类CScrollView换成CFormViewCFormView派生自CScrollView),同时需要在资源中添加一个对话框并将对话框的资源ID号与视图类关联(也可以将原来的代码注释掉,在对话框编辑器右键菜单中选择添加类,添加基类为CFormView的视图类,再把代码复制到新添加的类中),可以把不需要动态创建的控件直接在对话框编辑器中编辑好(减少点代码,使用代码创建也是可以的),此时使用代码创建控件,便不会出现控件绘制成黑色矩形的情况了。

posted @ 2020-07-10 07:58  fenggwsx  阅读(347)  评论(0编辑  收藏  举报