dialogbar button
场景:如何让DialogBar中的一个Button相应如下消息
怎么让DialogBar中的一个Button相应如下消息?
现在建立了一个DialogBar,里面加入了一个Dialog
它们已经可以显示在一个SDI程序中了
我现在向Dialog中加入一个Button,希望Button可以响应我的单击消息,并在窗口中画一条直线
双击Button的时候让我添加一个类——这个应该是个什么类?
我按照向导就稀里糊涂的添加了,class MyDlg : public CDialog{...};
然后可以直接双击Button添加函数了
函数这样写的:
void CMyDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
CWnd* pParent = GetParent();
CDC* dc = pParent-> GetDC();
dc-> MoveTo(10,100);
dc-> LineTo(500,100);
ReleaseDC(dc);
}
但是没用,只能在对话框中画线
而我希望在点击后
在View窗口中画图
应该怎么办?
第二个顺便问一下的问题是
在OnDraw函数中我如下改变坐标系:
pDC-> SetMapMode(MM_ANISOTROPIC);
pDC-> SetViewportOrg(rect.left,rect.bottom);
pDC-> SetWindowExt(100,-100);
pDC-> SetViewportExt(100,100);
然后我自己再写一个函数,响应鼠标移动的消息,绘制一个矩形
比如说我把这个矩形绘制在视图的上半部分,此时这个矩形的位置是好的
鼠标UP之后这个刚刚绘制好的矩形会在OnDraw里面重绘
这样的话那个矩形就跑到视图的下半部分区了
这个什么原因?
应该怎么解决?
------解决方案--------------------
在View类的要包含头文件中包含Doc类的头文件,这是VC6的一个BUG。
怎么让DialogBar中的一个Button相应如下消息?
现在建立了一个DialogBar,里面加入了一个Dialog
它们已经可以显示在一个SDI程序中了
我现在向Dialog中加入一个Button,希望Button可以响应我的单击消息,并在窗口中画一条直线
双击Button的时候让我添加一个类——这个应该是个什么类?
我按照向导就稀里糊涂的添加了,class MyDlg : public CDialog{...};
然后可以直接双击Button添加函数了
函数这样写的:
void CMyDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
CWnd* pParent = GetParent();
CDC* dc = pParent-> GetDC();
dc-> MoveTo(10,100);
dc-> LineTo(500,100);
ReleaseDC(dc);
}
但是没用,只能在对话框中画线
而我希望在点击后
在View窗口中画图
应该怎么办?
第二个顺便问一下的问题是
在OnDraw函数中我如下改变坐标系:
pDC-> SetMapMode(MM_ANISOTROPIC);
pDC-> SetViewportOrg(rect.left,rect.bottom);
pDC-> SetWindowExt(100,-100);
pDC-> SetViewportExt(100,100);
然后我自己再写一个函数,响应鼠标移动的消息,绘制一个矩形
比如说我把这个矩形绘制在视图的上半部分,此时这个矩形的位置是好的
鼠标UP之后这个刚刚绘制好的矩形会在OnDraw里面重绘
这样的话那个矩形就跑到视图的下半部分区了
这个什么原因?
应该怎么解决?
------解决方案--------------------
在View类的要包含头文件中包含Doc类的头文件,这是VC6的一个BUG。