上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
摘要: 本文是对网络上各种资料进行了梳理,并在VisualC++6.0下进行了实验测试。需要解决的问题如下:1. 在MFC多文档应用程序中同时显示两个视图,其中一个视图显示电路原理图,另外一个显示仿真结果。2. 两个视图需要同时显示,但是并非分割显示,而是通过切换(切换功能尚未实现)在多文档应用程序中,视图类是由CMultiDocTemplate来负责管理的。自动生成的MFC框架中在C**App类的InitInstance()函数中,有以下的语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Cod 阅读全文
posted @ 2013-10-22 15:05 陳さん様 阅读(463) 评论(0) 推荐(0)
摘要: 在利用mfc框架的时候,在App应用类的InitInstance()函数中,初始化时总有一个 SetRegistryKey("字符串XXX"),不知道究竟有何用处,这天仔细查看了一下,发现如果你使用注册表,则它为你提供了很便利的方法,当然如果不使用系统注册表,这句可以注释掉。以下是我在网上找到的一些资料:SetRegistryKeyCauses application settings to be stored in the registry instead of .INI files.SetRegistryKey 这个函数功能是设置MFC程序的注册表访问键,并把读写 in 阅读全文
posted @ 2013-10-22 11:18 陳さん様 阅读(302) 评论(0) 推荐(0)
摘要: CDocTemplate::CreateNewFrame() 函数在使用MFC编写的多文档应用程序(MDI)中为文档(Document)创建其他视图(Views),CreateNewFrame() 函数原型如下: CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *, CFrameWnd *)要调用该函数,需要指定一个CDocument 对象指针(确定函数将要创建什么视图)和一个框架窗口指针(用于复制该窗口的属性),一般第二个参数为NULL。当应用程序调用CreateNewFrame() ,该函数创建一个新的框架窗口,并在该窗口中创建一个视图 阅读全文
posted @ 2013-10-21 15:25 陳さん様 阅读(1267) 评论(0) 推荐(0)
摘要: Invalidate()是让程序重画窗口,使系统向其发WM_PAINT消息,使的程序的OnPaint被调用重画客户区。UpdateAllViews()是在DOC/VIEW结构中,当一个视图的数据改变后,通知所有视图作相应的改变。UpdateAllViews()是文档与视之间的联系,调用从它会使程序与此文档相关的所有视的UpdateView被调用,至于是否重画以及怎么画是由各视的UpdateView来决定的。Invalidate()是Cwnd的成员函数,与DOC-VIEW无关;UpdateAllViews()是CDocument的成员函数,具体体现DOC-VIEW的精神。Invalidate() 阅读全文
posted @ 2013-10-21 14:35 陳さん様 阅读(174) 评论(0) 推荐(0)
摘要: CSpinButtonCtrl 是vc中的spin控件,“旋转按钮控件”(也称为上下控件)是一对箭头按钮,用户点击它们来增加或减小某个值。一个旋转控件通常是与一个相伴的控件一起使用的,这个控件称为“伙伴窗口”。一个旋转按钮控件可以自动定位在它的伙伴窗口的旁边,看起来就像一个单一的控件。 OnInitDialog函数中设置控件数值范围: SetRange(0,255); 通常,将一个旋转按钮控件与一个编辑控件一起使用,以提示用户进行数字输入。点击向上箭头使当前位置向最大值方向移动,而点击向下箭头使当前位置向最小值的方向移动。缺省时,最小值是100,最大值是0,当用户点击向上箭头则减少数值,... 阅读全文
posted @ 2013-10-21 14:31 陳さん様 阅读(667) 评论(0) 推荐(0)
摘要: MFC 工程把以下代码放到你想要响应的函数里面就行CPoint pt;GetCursorPos(&pt);//获取鼠标在屏幕的当前位置SetCursorPos(100,200);//移动到某点坐标mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//点下右键mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);//松开右键mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//点下左键mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//松开左键BOOL Set 阅读全文
posted @ 2013-10-21 11:05 陳さん様 阅读(999) 评论(0) 推荐(0)
摘要: 我是用的MFC打印机制做的 然后重载了onprint函数 因为我是基于对话框的程序 然后在view类里面重载OnPrint()函数 并且把在这个里面把如下:C/C++ codevoid CPrintView::OnPrint(CDC* pDC, CPrintInfo* pInfo) {CFont *pOldFont;CFont DataFont;DataFont.CreatePointFont(120,"宋体",pDC);pOldFont=pDC->SelectObject(&DataFont);pDC->Rectangle(......);return 阅读全文
posted @ 2013-10-21 11:02 陳さん様 阅读(1660) 评论(0) 推荐(0)
摘要: 调用打印属性对话框:if(::OpenPrinter("Adobe PDF", &hPrint, NULL)){::PrinterProperties(m_hWnd, hPrint);::ClosePrinter(hPrint);}注:通过EnumPrinters可以枚举全部的本地、网络打印机信息,通过指定以上的方法,可以打开打印机属性对话框,建议通过以上方法修改打印机固定属性,比较安全。枚举打印机需要调用两次EnumPrinters函数,第一次的到结构体的大小,第二次得到打印机列表DWORD dwNeeded, dwReturn;// 得到结构大小BOOL bl 阅读全文
posted @ 2013-10-21 11:01 陳さん様 阅读(904) 评论(0) 推荐(0)
摘要: BOOL CDispDataView::GetDefaultPrinter(LPTSTR szPrinterName, int nPrintNameBufferLen){*szPrinterName = 0;CPrintDialog pd(FALSE);if (pd.GetDefaults()){if (pd.m_pd.hDC)DeleteDC(pd.m_pd.hDC); if (pd.m_pd.hDevNames) { LPDEVNAMES pdn = (LPDEVNAMES)GlobalLock(pd.m_pd.hDevNames); nPrintNameBufferLen--; *(sz 阅读全文
posted @ 2013-10-21 10:59 陳さん様 阅读(359) 评论(0) 推荐(0)
摘要: 在CSingleDocTemplate::OpenDocumentFile()或CMultiDocTemplate::OpenDocumentFile()的过程中,前者根据需要CreateNewFrame(),后者则一直CreateNewFrame()。之后需要调用CDocTemplate::InitialUpdateFrame()。CDocument* CSingle/MultiDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName,BOOL bMakeVisible){... CFrameWnd* pFrame = CreateNewFrame 阅读全文
posted @ 2013-10-18 15:04 陳さん様 阅读(659) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页