![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mfc wince
lx627776548
这个作者很懒,什么都没留下…
展开
-
c++进程间通讯 为什么不能用PostMessage传递指针数据
1.进程A调用CreateFileMapping创建一个内存映射文件。2.进程A调用MapViewOfFile获取到映射到文件的内存起始地址,调用memcpy往内存中拷贝数据。3.进程B调用CreateFileMapping打开进程A创建的内存映射文件。4.进程B调用MapViewOfFile获取到映射到文件的内存起始地址,调用memcpy从内存中读出数据。原创 2016-08-10 15:48:56 · 2413 阅读 · 0 评论 -
LPCTSTR类型释义
LPCTSTR类型:L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。P表示这是一个指针C表示是一个常量T表示在Win32环境中, 有一个_T宏STR表示这个变量是一个字符串详细释义编辑原创 2016-06-30 10:59:10 · 824 阅读 · 1 评论 -
0x8000 & GetKeyState(VK_SHIFT); 判断是否有按下shift键
0x8000 & GetKeyState(VK_SHIFT); 这句是判断是否有按下shift键 为什么GetAsyncKeyState()& 首先说明,有好多程序或书上是0x8000f,这个f不是十六进制的f而是代表浮点数。其实& 8000才是本质。小鱼我整理后自己写了点东西,总结一下 首先介绍一下几个概念: 按位与运算符"&":是双目运算符,其功能是参与运算的两转载 2016-07-04 21:50:36 · 8827 阅读 · 0 评论 -
#pragma warning( pop ) 和#pragma warning( push )有什么用
#pragma warning(push)是保存当前的编译器警告状态;#pragma warning(pop)是恢复原先的警告状态。例如:#pragma warning( push )#pragma warning( disable : 4705 )#pragma warning( disable : 4706 )#pragma warning( disable : 470原创 2016-07-12 14:34:00 · 5420 阅读 · 0 评论 -
控件响应鼠标操作事件中,判断IsIdle()作用
头文件enum E_STATUS{E_UNINIT = 1,E_MOVE,};E_STATUS m_status;cpp文件m_status = E_UNINIT;void CxxBtn::OnLButtonDown(UINT nFlags, POINT point){switch (m_status){case E_UNINIT原创 2016-07-12 15:14:07 · 479 阅读 · 0 评论 -
服务端与客户端握手规则,心跳逻辑
服务端与客户端通讯,有一个很重要的部分就是握手。 握手的好处就是可以实现服务端与客户端的数据同步,收据收发可控,代码逻辑条理清晰严谨。握手涉及到的内容包括 1。定时器两个,一个是做数据请求的,即所需数据服务端没有回复,间隔一定时间再去请求,如此反复。还有一个定时器是做超时处理的,即数据一直没请求到,则则相应处理。如弹出错误提示那条数据为请求到,或跳过此条数据,请求下一条数据。所有数据请求完成后原创 2016-07-18 17:46:43 · 3627 阅读 · 0 评论 -
wince 遍历文件夹,删除文件夹,及文件夹内文件
wince的实现不支持CFileFindBOOL DeleteDirectory_R(LPCTSTR psDirName) {WIN32_FIND_DATA FindFileData;memset(FindFileData.cFileName, 0, sizeof(FindFileData.cFileName));TCHAR sTempFileFind[ _MAX_PATH ]原创 2016-07-23 14:11:32 · 1365 阅读 · 0 评论 -
控件封装的一点心得
控件封装的一点心得原创 2016-07-23 18:03:26 · 436 阅读 · 0 评论 -
封装控件的原理
前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各转载 2016-07-23 18:11:05 · 610 阅读 · 0 评论 -
Invalidate(TRUE)与Invalidate(FALSE)区别
使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_ERASEBKGND和WM_PAINT两个消息。使用Invalidate(FALSE)函数时,它只会向消息队列中添加了WM_PAINT消息。WM_ERASEBKGND消息的作用以背景色填充客户区,因此他会将之前绘制的图像情况,然后响应WM_PAINT消息后,会调用OnPaint函数,进行响应图像绘制工作。故In转载 2016-06-29 09:28:01 · 375 阅读 · 0 评论