急救啊!!两天就要做好的mfc现在卡住啦!!!求救!!!在线等!!!

我用mfc写程序,自建了个普通类,就是没有继承mfc类的那个类。在类中我想获得当前窗口的DC,于是在自建类中CDC hdc;然后hdc.CreateCompatibleDC(GetWindowDC());居然报错,说GetWindowDC()不止带一个参数!!!我在view类中是不带参数就可以用的啊!!于是我这样hdc.CreateCompatibleDC(GetWindowDC(GetSafeHwnd()));但是,居然报错说“'GetSafeHwnd' : undeclared identifier”,于是我在'GetSafeHwnd' 前改为“CWnd::GetSafeHwnd”,'CWnd::GetSafeHwnd' : illegal call of non-static member function!!!那请问,有什么方法可以获取当前窗口的DC呢????帮助帮助啊!!!

你太乱了~~提示下你吧。
GetDC可以满足你的要求。你自己建的普通类又不是窗口,哪里来的当前窗口?
你的意思估计是要获取主窗口的DC,那么得先知道主窗口的句柄。追问

无法获取句柄。。。

追答

不可能的。你去找找获得窗口句柄的方法吧

温馨提示:内容为网友见解,仅供参考
无其他回答

基于MFC的单文档程序对图像在线处理,界面卡住了
线程问题,你在UI线程里面做数据处理如果时间过长就会出现这种情况,解决办法是另外开一个线程,把数据处理这些部分放在那个线程中,现在这个地方只留负责显示的部分

关于MFC 的重画机制 求大神解答 在线等 求救
首先,MFC但文档的工程,系统会带一个这样的 OnDraw(CDC* pDC)你确定你写的OnDraw没有覆盖掉系统的。另外,你可以在OnDrow函数的开头MessageBox或者其他方式输出一下,看Invalidate之后该函数是否被调用到了。如果都调用到了,再检查OnDrow里面的逻辑是否正确的 ...

一个简单的MFC问题,在线等!
你把静态文本框的关联变量定义为char *类型变量m_pDate,再在你的程序中,要显示str内容的部分将CString转换为char *类型,赋值给m_pDate即可。

一个关于MFC的问题,在线等,急!急!急!急!急!
WM_LBUTTONDOWN OnLButtonDown(UINT nFlags, CPoint point)如果图是画上的,就根据画的坐标(top,bottom,left,right)判断参数是否在图的范围内响应鼠标事件即可

在线等,很急!!!【MFC中,局部函数如何修改控件变量?】
你这里有个dlg,如果这行正确的话,那下面加上也应该可以 dlg.GetDlgItem(IDC_STATIC_READCOUNTER)->SetWindowTextW(_T("HHH"));\/\/ dlg..dlg.SetDlgItemTextW(IDC_STATIC_READCOUNTER, cstrTipMessage);

小虾自学谭浩强的“C语言程序设计”,现在已经把这本书看了四遍,内容...
1、建议你先到pku acm上去做题(我也在做),先不做难题,刷了30道左右的水题后进行第二步;2、到百度里去搜:”ACM题型分类“,”ACM算法“;自己一个一个去吃透;3、由于ACM中有很多人喜欢用C++,建议你第二步的同时看C++(C++只比C多了点东西,很快就可以掌握);4、数据结构很重要,你要...

请教MFC高手:关于CArchive类的用法,在线等,急!!!
支持数据的串行化,宝义一个CArchive类对象应该得与一个文件相关。MFC中常用的是CFile 可以把CArchive它想成一个与文件相关的流。对这个流的操作就是对文件的操作。

MFC的Accelerator问题(在线等,急!!!)
我给你个对话框的步骤:1、在CxxxApp中添加变量HACCEL m_hAccelerator;\/\/ 加速键结构体 2、在BOOL CxxxApp::InitInstance()中添加加载项 \/\/ 关联加速键 m_hAccelerator=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACC_MYACC));3、在BOOL CxxxApp::ProcessMessageFilter(int code, ...

可以在mfc中添加普通类吗?在线等,急!!
增加普通的类当然是可以的,比如CAnimal{};CFish{};等等,你可以直接的使用MFC基类的一些成员函数或对象,但你要自己声明某个对象时,需要声明在public:下,因为类的声明默认为private;

我是大一新生..关于计算机专业的一些问题
4.学好英语。如果你打算在计算机方面发展,一定要学好英语,原因很简单,因为计算机是在美国发明的,这里的计算机技术是领先的。所以如果你想接触到最新的、原汁原味计算机知识,必须要学会英语。关于第二点,如果你能做好第一点,那第二点就不用我多说了。好好学吧,计算机很有发展潜力。以上个人意见,仅供参考。补充:...

相似回答
大家正在搜