querw:最后那种用位图实现的方法怎么去掉残留的蓝边?
(发表于2005-5-18 15:49:00)
txqc4:残留处的蓝色不是纯蓝色RGB(0,0,255),或许是RGB(1,1,255)等等,所以在原始位图中,将残留的蓝边处的每个象素设置为纯蓝色即可去处
(发表于2005-5-25 20:54:00)
wym612:重新建立个按钮,单击事件处理
为CDlgBase dlg;
dlg.DoModal();
(发表于2005-6-5 9:21:00)
wym612:重新建立个按钮,单击事件处理
为CDlgBase dlg;
dlg.DoModal();
提示为error C2512: 'CDlgBase' : no appropriate default constructor available
这是什么原因,应该如何修改
(发表于2005-6-5 9:22:00)
txqc4:To wym612:
出错的原因是,没有匹配的构造函数。因为CDlgBase的构造函数为CDlgBase(UINT nID,CWnd* pParent = NULL);,该构造函数有两个参数,第一个为资源中的对话框模板ID,本例中你打开资源管理器可以看到有IDD_ABOUTBOX,IDD_DIALOG_DEMO,IDD_IRREGULAR_DIALOG这几个ID值可以取;第二个参数是父窗体的指针,因为有NULL这个默认值,所以可以不设。
所以正确的使用CDlgBase示例如下:
CDlgBase dlg(IDD_DIALOG_DEMO);
dlg.DoModal();
(发表于2005-6-9 19:34:00)
elong21:去掉残留的蓝色的方法
打开演示对话框IDD_DIALOG_DEMO的属性窗口,在"styles"中将"Border"项由"Dialog Frame"改为"None"即可
产生原因:
基类对话框CDlgBase中OnPaint处理函数绘制位图的坐标与由位图产生的窗口区域有差别造成的!
(发表于2007-6-28 19:24:00)
孤狼:位图的速度太慢,最好是能够操作DIB的像素位来创建区域,速度会比较快.
(发表于2007-11-28 16:27:00)
..........................................................................
--------------------next---------------------
阅读(428) | 评论(0) | 转发(0) |