我在DLL中定义了一个函数,用于处理客户(EXE)的界面处理。如下处理,不行。
由解决方案吗?
(DLL)
void DrawTest(HWND hwnd,RECT rc)
{
::AFX_MANAGE_STATE(::AfxGetStaticModuleState());
CWnd *wnd=CWnd::FromHandle(hwnd);
CPaintDC dc(wnd);
CBrush br(RGB(25,23,255));
dc.FillRect(&rc,&br);}
//或者void DrawTestDC(HDC hdc,RECT rc)
{
::AFX_MANAGE_STATE(::AfxGetStaticModuleState());
CDC *dc=CDC::FromHandle(hdc);
CBrush br(RGB(25,23,255));
dc->FillRect(&rc,&br);}然后在客户端直接调用,可是没有效果, 不知为什么?
btw:我创建的是规则dll(不能使用扩展dll).
由解决方案吗?
(DLL)
void DrawTest(HWND hwnd,RECT rc)
{
::AFX_MANAGE_STATE(::AfxGetStaticModuleState());
CWnd *wnd=CWnd::FromHandle(hwnd);
CPaintDC dc(wnd);
CBrush br(RGB(25,23,255));
dc.FillRect(&rc,&br);}
//或者void DrawTestDC(HDC hdc,RECT rc)
{
::AFX_MANAGE_STATE(::AfxGetStaticModuleState());
CDC *dc=CDC::FromHandle(hdc);
CBrush br(RGB(25,23,255));
dc->FillRect(&rc,&br);}然后在客户端直接调用,可是没有效果, 不知为什么?
btw:我创建的是规则dll(不能使用扩展dll).
解决方案 »
- C语言计算器编程的注释
- 做网页采集提取网页的链接跟标题时遇到的正则问题
- 移动对话框中按扭的位置出现的问题
- 这个也会泄漏内存
- Osch大牛请进!(2)
- CSplitterWnd下,多个CView,CDoc和CMainFrame之间调用的疑问?
- 《深入浅出MFC>>第三章frame1和frame2的问题,前辈高手请助小弟一臂之力!!
- 讨论一下EXE导出操作界面的函数供DLL使用(实现类似Eclipse插件功能)
- 居然有这种地方。http://www.intersky.ne.jp/~china/300.htm
- 如何在鼠标移动到一固定位置是改变鼠标的形状?
- 分少了,你会解答吗?
- ReceiveFrom的小问题?
另外,我也碰到过这样的事,怀疑是“CDC *dc=CDC::FromHandle(hdc);”是无效的
具体机制可能和DC有关