
2012年以前的文章
文章平均质量分 63
lala_achun
这个作者很懒,什么都没留下…
展开
-
[转]修改菜单(系统菜单)
1、用CWnd::GetSystemMenu()获取系统菜单的CMenu指针 CMenu *pSysMenu=NULL; pSysMenu=AfxGetMainWnd()->GetSystemMenu(FALSE); pSysMenu->RemoveMenu(SC_CLOSE,MF_BYCOMMAND);//删除关闭菜单 pSysMenu->AppendMenu(MF_STRING,ID_MENU_TEMP,"&Close");//增加菜单2、用WM_SYSCOMMAND消息处理函数响应自己增加的菜单voi转载 2010-12-06 13:24:00 · 923 阅读 · 0 评论 -
判断是否点击在listctrl的checkbox
<br />void CXXXDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)<br />{<br /> <br /> DWORD dwPos = GetMessagePos();<br /> CPoint point( LOWORD(dwPos), HIWORD(dwPos) );<br /> <br /> m_list.ScreenToClient(&point);<br /> <b原创 2010-12-07 18:09:00 · 696 阅读 · 0 评论 -
::GetCommandLine()获取的值与CWinApp::m_lpCmdLine不同之处
<br />调试了几天程序,原来从子进程中CWinApp::m_lpCmdLine是无法获取主进程通过CreateProcess传给子进程的命令行参数(一直为空),但通过ShellExcute传进的命令行参数则可以获取到.<br /> <br />总结: 主进程中函数CreateProcess和ShellExcute传给子进程的命令行参数,在子进程中均可以::GetCommandLine()获取,但CWinApp::m_lpCmdLine仅可以获取ShellExcute传命令行参数.原创 2011-01-06 10:24:00 · 4895 阅读 · 0 评论 -
内联汇编访问类或结构的private 成员变量
<br />为了封装性,方便类的维护,但在有些时候某些变量如果不提供Get或Set成员函数,而<br />我们又想直接通过变量名(这是前提)来访问变量,而不需要通知接口维护者来更改接口.<br />这时,VC的内联汇编就可以帮我们了.<br />假设有类定义如下:<br />class CTestStack <br />{<br />public:<br />CTestStack();<br />virtual ~CTestStack();<br />void MemberUsed();<br />priv转载 2011-01-06 15:20:00 · 1123 阅读 · 0 评论 -
引用dll导致的资源id冲突解决方法
<br />产生这个问题的根源在于应用程序与MFC规则DLL共享MFC DLL(或MFC扩展DLL)的程序总是默认使用EXE的资源,我们必须进行资源模块句柄的切换,其实现方法有三:<br /> 方法一 在DLL接口函数中使用:<br />AFX_MANAGE_STATE(AfxGetStaticModuleState());<br /> 我们将DLL中的接口函数ShowDlg改为:<br />void ShowDlg(void)<br />{ <br />//方法1:在函数开始处变更,在函数结束时恢复<转载 2011-01-10 17:46:00 · 3811 阅读 · 0 评论 -
资源导出为文件
<br />资源类型为OWNER_DATA<br />BOOL CXXXApp::MakeResource(int nID, CString szPathName){ HRSRC hSrc = FindResource(NULL, MAKEINTRESOURCE(nID), _T("OWNER_DATA")); if(hSrc == NULL) return FALSE; HGLOBAL hGlobal = LoadResource(NULL, hSrc); if(hG原创 2011-02-16 08:59:00 · 509 阅读 · 0 评论 -
让你的程序在xp系统模式下运行(适用于更高级Windows系统版本)
<br />添加自定义资源RT_MAINFEST,插入名为XPStyle.manifest的资源,并改资源名为1.<br /> <br /> <br />XPStyle.manifest的内容为<br /><?xml version="1.0" encoding="UTF-8" standalone="yes"?> <br /><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <br /><assemblyId原创 2011-02-14 14:43:00 · 562 阅读 · 0 评论 -
vc中socket编程步骤
<br />sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。<br /><br />服务器端编程的步骤:<br /><br />1:加载套接字库,创建套接字(WSAStartup()/socket());<br /><br />2:绑定套接字到一个IP地址和一个端口上(bind());转载 2011-02-23 09:19:00 · 455 阅读 · 0 评论 -
GetMessage与Peekmessage区别
<br />a。GetMessage类似于SendMessage. 有消息才会传回, 否则是阻塞的...,同时取出(删除)原队列的消息. <br />b。 PeekMessage 类似于PostMessage ,没有消息也立即返回, 同时有选项选择是否删除原消息...<br /> <br />1. GetMessage()只有在接收到消息后才将控制权转给你的程序,而PeekMessage()无论有没有消息都会将控制权转给你的程序:如果有消息,返回真,没有消息返回假。 <br />2。GetMessage转载 2011-02-23 09:13:00 · 489 阅读 · 0 评论