我自己做了一个ActiveX控件,这个Active控件就是可以任意被折叠。是类似于下面的一个Active控件。但是当我在同一个窗口创建两个同样的Activex控件后,第二个就看不到了。
下面是创建两个ActiveX控件的代码:CPoint p1(0,0),p2(500,500);//这个是他们两个控件的矩形区域,两个控件在同一区域
m_pNodeLinkLine1->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine1->InitLine(CPoint(30,100),CPoint(100,100));//这是m_pNodeLinkLine1的初始化起点和终点m_pNodeLinkLine2 = new CNodeLinkLine();
m_pNodeLinkLine2->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine2->InitLine(CPoint(150,150),CPoint(200,200));));//这是pNodeLinkLine2的初始化起点和终点下面是我在对话框上测试的效果(执行上面的代码后)很明显的是m_pNodeLinkLine2看不到了。
然后当我把创建m_pNodeLinkLine1的代码注释掉后,//CPoint p1(0,0),p2(500,500);//这个是他们两个控件的矩形区域,两个控件在同一区域
//m_pNodeLinkLine1->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
//m_pNodeLinkLine1->InitLine(CPoint(30,100),CPoint(100,100));//这是的初始化起点和终点m_pNodeLinkLine2 = new CNodeLinkLine();
m_pNodeLinkLine2->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine2->InitLine(CPoint(150,150),CPoint(200,200));));//这是pNodeLinkLine2的初始化起点和终点效果如下:很明显,m_pNodeLinkLine2出来了。
有哪位大神指导知道设置什么原因?
为什么我的控件不能向Box1和Box2那样,在共享的区域内任然能够显示自己的边框呢?
activex控件背景覆盖
下面是创建两个ActiveX控件的代码:CPoint p1(0,0),p2(500,500);//这个是他们两个控件的矩形区域,两个控件在同一区域
m_pNodeLinkLine1->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine1->InitLine(CPoint(30,100),CPoint(100,100));//这是m_pNodeLinkLine1的初始化起点和终点m_pNodeLinkLine2 = new CNodeLinkLine();
m_pNodeLinkLine2->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine2->InitLine(CPoint(150,150),CPoint(200,200));));//这是pNodeLinkLine2的初始化起点和终点下面是我在对话框上测试的效果(执行上面的代码后)很明显的是m_pNodeLinkLine2看不到了。
然后当我把创建m_pNodeLinkLine1的代码注释掉后,//CPoint p1(0,0),p2(500,500);//这个是他们两个控件的矩形区域,两个控件在同一区域
//m_pNodeLinkLine1->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
//m_pNodeLinkLine1->InitLine(CPoint(30,100),CPoint(100,100));//这是的初始化起点和终点m_pNodeLinkLine2 = new CNodeLinkLine();
m_pNodeLinkLine2->Create(_T("Name"),WS_VISIBLE|WS_CHILD,CRect(p1,p2),this,123);
m_pNodeLinkLine2->InitLine(CPoint(150,150),CPoint(200,200));));//这是pNodeLinkLine2的初始化起点和终点效果如下:很明显,m_pNodeLinkLine2出来了。
有哪位大神指导知道设置什么原因?
为什么我的控件不能向Box1和Box2那样,在共享的区域内任然能够显示自己的边框呢?
activex控件背景覆盖
解决方案 »
- 寻找高手,CTreeView的消息响应
- 我采用UDP协议,从客户端发了一条消息到服务器,服务器一直在循环响应OnReceive,不知道是为什么
- EnterCriticalSection后,如果边续2次LeaveCriticalSection,会出现什么问题?
- Dll的小问题
- 急,在线等!!数据库问题
- 怎样在client中同步接受server上的数据????
- 我的对话框里放了一个进度条控件,怎么来控制?
- InvalidateRect(hwnd, NULL, false);有什么用???
- pcm音频静音数据的格式是怎样的?谢谢!
- 由动态连接方式改为静态连接后,编译出现以下提示。究竟是什么意思呢?
- 请问各位大大几个问题?
- 很多网友在研究远程控制,将自己早期的远程控制系统开源,以供大家探讨
你不要把坐标位置设置成一样的感谢您的回复,但是我这个必须得放在同样的位置。
因为在同一个界面可能有很多ActiveX控件,并且这个ActiveX是一条类似下图由多条直线组成的图像:并且ActiveX控件的图形位置是任意的。
搞了半天也没有搞明白啊。我现在主要要做些甚么才能让两个ActiveX控件同时显示。
我的ActiveX控件是有句柄的。
LONG lIndex = -1;
DVASPECTINFO dvAspctInfo;
dvAspctInfo.cb = sizeof(DVASPECTINFO);
dvAspctInfo.dwFlags = DVASPECTINFOFLAG_CANOPTIMIZE ; RECTL rectL;
rectL.left = 0;
rectL.top= 0;
rectL.right= 500;
rectL.bottom = 500; BOOL bFalse=FALSE;
IViewObject2* pViewObject; if(m_pNodeLinkLine1)
{
LPUNKNOWN lpUnkonw= m_pNodeLinkLine1->GetControlUnknown(); lpUnkonw->QueryInterface(__uuidof(IViewObject2),(void**)&pViewObject); HRESULT hResult = pViewObject->Draw(DVASPECT_OPAQUE ,
lIndex,
(void*)&dvAspctInfo,
NULL,
NULL,
m_pNodeLinkLine1->GetDC()->GetSafeHdc(),
&rectL,
NULL,
NULL,
NULL
); int a = 0;
}
我在OnPaint里面写了这样的代码,但是没有什么效果。