08 2009 档案

摘要:每个控件都有它的ID。自己在消息映射里加上下面的话,然后再添加响应函数就可以了。 ON_UPDATE_COMMAND_UI(ID_YOUR_TOOLBAR_CONTROL_ID,OnUpdateYourControl) 响应函数: void OnUpdateYourControl(CCmdUI* pCmdUI) { if(!m_bIsEnable) { pCmdUI->Enable(FAL... 阅读全文
posted @ 2009-08-28 14:09 eric_lgf 阅读(891) 评论(0) 推荐(0)
摘要:首先在CMainFrame 的构造函数添加m_bAutoMenuEnable = false;//m_bAutoMenuEnable为CFrameWnd的成员然后就能在需要的地方令其失效AfxGetApp()->m_pMainWnd->GetMenu()->EnableMenuItem(ID_XXX, MF_GRAYED);  //变灰AfxGetApp()->m_pMai... 阅读全文
posted @ 2009-08-28 11:11 eric_lgf 阅读(2971) 评论(2) 推荐(0)
摘要:该函数为CWinApp的虚拟函数,默认做TranslateMessage的工作,若用户想在mfc架构下对来自于消息队列的消息有所预操作的要求,可以重载该函数。比如:废除鼠标、键盘消息.。BOOL CXXXApp::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == WM_LBUTTONDOWN || pMsg->message ... 阅读全文
posted @ 2009-08-25 13:42 eric_lgf 阅读(580) 评论(0) 推荐(0)
摘要:快捷键 功能 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 C... 阅读全文
posted @ 2009-08-25 11:10 eric_lgf 阅读(257) 评论(0) 推荐(0)
摘要:GetLastError() & Error Lookup 再次体会到VC的确是一个强大的编程工具啊~ 呵呵 下图中展示了另外一个技巧,就是不单独适用Error Lookup工具来查询Error Code对应的错误描述。而直接在VC的watch窗口中使用@err来monitor the current thread's last error code. 但要记住GetLastError... 阅读全文
posted @ 2009-08-21 20:16 eric_lgf 阅读(498) 评论(1) 推荐(0)
摘要:使用宏LPARAM MAKELPARAM( WORD wLow, WORD wHigh ); 阅读全文
posted @ 2009-08-19 17:50 eric_lgf 阅读(268) 评论(0) 推荐(0)
摘要:一.MFC消息响应机制分析 ---- MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消息映射机制,更是涉及到很多低层的东西,我们在这里,对它的整个消息映射机制进行了系统的分析,可以帮助程序开发人员对MFC的消息映射机制有一个比较透彻的了解。 ---- 关键词:面向对象 消息映射 MFC 程序设计 1.引言 ---- VC++的MFC类库实际上是Windows... 阅读全文
posted @ 2009-08-19 14:14 eric_lgf 阅读(4157) 评论(0) 推荐(0)
摘要:首先将最新版本checkout下来然后进文件夹,右击鼠标 进入svn菜单选择showlog然后右键你要回退的版本选择revert to this revision然后再做修改或不修改都能commit了 阅读全文
posted @ 2009-08-18 16:55 eric_lgf 阅读(2668) 评论(0) 推荐(0)
摘要:单文档CFrameWnd* pMainWnd = (CFrameWnd*)AfxGetApp()->m_pMainWnd;CXXXView* pViewWnd = pMainWnd->GetActiveView();多文档((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveFrame()->GetActiveView(... 阅读全文
posted @ 2009-08-18 14:51 eric_lgf 阅读(190) 评论(0) 推荐(0)
摘要:调用 SetConsoleTitle() 若要更改控制台标题到唯一的标题。调用 Sleep(100) 以确保更新窗口标题。 //因为调用完setconsoletitle后标题更新需要一段时间调用 FindWindow函数获得句柄 阅读全文
posted @ 2009-08-18 13:40 eric_lgf 阅读(242) 评论(0) 推荐(0)
摘要:--简单的 Winsock 应用程式设计 TCP连接建立与关闭 相信各位读者现在对於 Winsock 的定义、系统环境,以及一些 Winsock Stack及 Winsock 应用程式,都有基本的认识了。接下来笔者希望能分几期为各位读者介绍一下简单的 Winsock 网路应用程式设计。我们将以 Winsock 1.1 规格所定义的 46 个应用程式介面(API)为基础,逐步来建立一对 TCP so... 阅读全文
posted @ 2009-08-18 10:41 eric_lgf 阅读(5401) 评论(1) 推荐(1)
摘要:0 1、 建立工程时,将 View 类继承自 CScrollView 2、 在 OnInitialUpdate 中添加初始化时 Scroll 的相关属性值 CSize size... 阅读全文
posted @ 2009-08-14 15:15 eric_lgf 阅读(3693) 评论(0) 推荐(0)
摘要:#pragmawarning指令该指令允许有选择性的修改编译器的警告消息的行为指令格式如下:#pragmawarning(warning-specifier:warning-number-list[;warning-specifier:warning-number-list...]#pragmawarning(push[,n])#pragmawarning(pop)主要用到的警告表示有如下几个:o... 阅读全文
posted @ 2009-08-14 10:24 eric_lgf 阅读(1299) 评论(0) 推荐(0)
摘要:一般的做法是在 C**App::InitInstance()中,修改成这样:  {  //...  m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);  m_pMainWnd->UpdateWindow();  //...  }  或者,还在 CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中,添加:  ... 阅读全文
posted @ 2009-08-10 16:28 eric_lgf 阅读(331) 评论(0) 推荐(0)
摘要:方法一:CStatusBar* pStatus=(CStatusBar*) AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR); pStatus->SetPaneText(0,"test string"); 方法二:对状态栏使用ON_UPDATE_COMMAND_UI机制。 阅读全文
posted @ 2009-08-09 12:35 eric_lgf 阅读(250) 评论(0) 推荐(0)
摘要:其实很简单的2句话假设CEdit* pEdit;已经被赋值并且创建了相应的控件pEdit->Focus();pEdit->SetSel(int len,int len,true);搞定!注意:以上2句话一定要在pEdit->SetWindowText(...);之后才有效果 阅读全文
posted @ 2009-08-07 17:58 eric_lgf 阅读(1184) 评论(0) 推荐(0)
摘要:AppWizard 生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名、窗口是叠加型的、可改变窗口大小等。要修改窗口的缺省风格,需要重载 CWnd::PreCreateWindow(CREATESTRUCT& cs)函数,并在其中修改CREATESTRUCT型参数cs。   CWnd::PreCreateWindow 函数先于窗口创建函数执行。如果该函数被重载... 阅读全文
posted @ 2009-08-06 08:53 eric_lgf 阅读(3984) 评论(0) 推荐(0)
摘要://this 为parent窗口的指针 CEdit* pEdit = new CEdit;pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, CRect(10, 10, 100, 100), this, 1); 阅读全文
posted @ 2009-08-05 16:16 eric_lgf 阅读(933) 评论(0) 推荐(0)
摘要:经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板的操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容:1、文本内容的操作2、WMF数据的操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板:Cstring source;//文本内容保存在source... 阅读全文
posted @ 2009-08-05 13:09 eric_lgf 阅读(2848) 评论(0) 推荐(0)
摘要:例子:将粘贴变灰GetDlgItem(ID_PASTE)->EnableWindow(FALSE); 阅读全文
posted @ 2009-08-04 10:30 eric_lgf 阅读(194) 评论(0) 推荐(0)
摘要:CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERW... 阅读全文
posted @ 2009-08-02 13:23 eric_lgf 阅读(17566) 评论(1) 推荐(1)
摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识... 阅读全文
posted @ 2009-08-02 00:06 eric_lgf 阅读(1958) 评论(0) 推荐(0)
摘要:显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。 1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnDr... 阅读全文
posted @ 2009-08-01 17:51 eric_lgf 阅读(1643) 评论(0) 推荐(0)