
MFC编程
self_mind
知识的盛宴,个人的独享!
展开
-
进程与线程及其区别
一、进程与程序 程序:程序是计算机指令的集合,它以(.exe)文件的形式存储在磁盘上。 进程:进程则定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。我们通过编译生成的.exe以文件的形式存在磁盘上,当运行这个.exe文件时就启动了这个程序的一个实例,该实例就是一个进程。一个程序可以对应多个进程。进程是资源申请、调度、独立运行的单位,因此它使用原创 2015-11-10 17:07:16 · 350 阅读 · 0 评论 -
C++所有类型的定义
LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的64位双字节字符数组指针。LPSTR是指指向一个字符串的32位指针,每个字符占1个字节。类似于:(LPSTR 相当于CHAR *)char chArray[] = “This is a test原创 2016-02-28 21:46:13 · 904 阅读 · 0 评论 -
如何利用MFC编写的.exe调用C#编写的dll动态库
如何利用MFC编写的.exe调用C#编写的dll动态库 由于项目的需要,将C#编写的dll动态库运用到MFC编写的.exe程序中,具体运用步骤如下所示:一、使用/clr方式来编译MFC文件,具体操作主要是更改MFC所在的项目属性: 1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”。 2、展开“配置属性”旁边的节原创 2016-03-21 16:36:15 · 2151 阅读 · 0 评论 -
MFC TabCtrl空间
MFC可以使用TabCtrl空间实现类似于选项卡功能的实现。实现方法大概有这几步组成:1、工程与主对话框创建 新建一个基于对话框的MFC应用程序,添加一个TabCtrl控件,并绑定CTabCtrl控件类型的变量(在VC 6.0中通过类向导来添加,Ctrl+W快捷键可直接调出),变量名定为m_tabCtrl(可以自由指定)。2、tab标签对话框创建 每原创 2016-03-16 22:35:36 · 735 阅读 · 0 评论 -
For mine
http://blog.youkuaiyun.com/hnust_xiehonghao/article/details/37729537点击打开链接原创 2016-03-02 17:54:20 · 283 阅读 · 0 评论 -
控件的移动方法
控件位置的调整涉及的函数有:GetWindowRect()、ScreenToClient()、GetClientRect()、MoveWindow()或SetWindowPos(),功能意义如下:1.用GetWindowRect()获得窗口在屏幕上的矩形坐标,调整控件位置时必须首先获得该屏幕坐标;GetWindowRect是获取窗口句柄对应的窗口的屏幕坐标. CRect原创 2016-03-02 23:46:32 · 580 阅读 · 0 评论 -
滚动条的创建(1)
手动创建滚动条的一些API函数:1.构造函数CScrollBar()例如:CScrollBar *pScrollBar;pScrollBar = new CScrollBar;2.生成函数BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );原创 2016-03-02 23:24:16 · 499 阅读 · 0 评论 -
Check Box的详细用法
勾选时...做某种算法---不勾选时 做另一种算法if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) ){// 勾选}else{}IDC_CHECK1是CheckBox控件。函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。 函数原型:UINT IsDl原创 2016-03-02 16:53:04 · 14807 阅读 · 0 评论 -
线程同步-临界区、互斥对象、事件对象区别
多线程引起的问题: 多线程可是提高程序的运算效率,但是对于进程中含有共享消息时必须使用线程同步,否则会发生与时间有关的错误,如乱码和竞争的现象,输出信息的杂乱。例如,多个线程同时访问同一个 全局变量,如果都是读取操作,则不会出现问题。如果一个线程负责改变此变量的值,而其他线程负责同时读取变量内容,则不能保证读取到的数据是经过写线程修 改后的。通过代码举例说明:#incl原创 2015-11-13 16:57:38 · 1167 阅读 · 0 评论 -
多线程的创建问题
线程与进程的回顾 已知进程是线程执行程序的容器,进程只是为线程的执行提供一个执行环境。真正执行程序的是线程,每个进程至少拥有一个线程,当创建一个进程时,那么系统会自动创建一个线程,称为主线程,也就是执行main函数或WinMain函数的线程,该函数是程序的入口函数,此后,主线程创建其他线程。单线程与多线程的区别对单线程来说,在进程的地址空间中只有一个线程在运行。对多线原创 2015-11-11 20:37:13 · 448 阅读 · 0 评论 -
Invalidate/InvalidateRect/UpdateWindow/RedrawWindow区别与联系
当窗口发生重绘时,应用程序会接收到WM_PAINT消息,从而调用ONPaint()函数,当程序中调用以下几个函数时会发送WM_PAINT消息。在讲解之前有一点知识需要明白:即当窗口有效时,那么我们是不能对窗口进行绘制,当窗口无效时,我们才能向窗口进行重画操作。1. void Invalidate( BOOL bErase = TRUE ) 该函数的作用是使整个窗口的客户区无效原创 2016-03-14 23:22:39 · 487 阅读 · 0 评论