![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Visual C++从入门到精通 笔记
Visual C++从入门到精通 笔记
Greless
这个作者很懒,什么都没留下…
展开
-
注册表操作
一、使用API函数操作注册表1.RegCreateKey该函数用于打开指定的键,如果键不存在,则新建一个键或子键LONG RegCreatekey(HKEY hKey,LPCTSTR lpSubKey,PHKEY phkResult);hKey:打开键的句柄lpSubKey:函数打开或创建的键名phkResult:函数返回的打开或创建键的句柄指针2.RegClo原创 2017-05-09 15:49:26 · 1648 阅读 · 0 评论 -
动态链接库(一)
一.typedef函数指针用法 1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 2.使用typedef更直观更方便原创 2017-05-26 16:31:14 · 483 阅读 · 0 评论 -
动态链接库(二)-访问MFC动态链接库c++类和资源
MFC动态链接库代码原创 2017-05-26 17:57:03 · 611 阅读 · 0 评论 -
线程(一)-线程的创建
一.理解系统内核对象线程是系统内核对象之一.内核对象是系统内核分配的一个内存块,该内存块描述的是一个数据结构,其成员负责维护对象的各种信息.内核对象只能由系统内核来访问,应用程序无法在内存中找到这些数据结构并直接改变他们的内容。常用的系统内核对象有事件对象、文件对象、作业对象、互斥对象、管道对象、进程对象和线程对象。内核对象共性:1.计数属性,内核对象在进程中被创建原创 2017-05-23 11:51:07 · 631 阅读 · 0 评论 -
线程(二)-线程同步
参考: 秒杀多线程面试题系列案例-多线程资源访问冲突:#include "stdafx.h"#include "windows.h"int number = 1;unsigned long __stdcall ThreadProc1(void* lpParameter){ while (number < 100) { printf("线程1当前计数:%d\n",numbe原创 2017-05-23 16:45:27 · 434 阅读 · 0 评论 -
启动界面淡入淡出效果
启动界面淡入淡出效果需要加载User32.DLL动态链接库1.新建对话框资源,Border=none,添加图像控件,导入位图资源2.动态窗口定义/** AnimateWindow() Commands*/#define AW_HOR_POSITIVE 0x00000001#define AW_HOR_NEGATIVE 0x原创 2017-05-27 10:47:26 · 757 阅读 · 0 评论 -
工具栏使用
使用位图创建工具栏1.头文件定义CToolBar m_ToolBar;2.BOOL CCreateToolBarDlg::OnInitDialog(){// TODO: Add extra initialization hereUINT array[11];for (int i = 0;i{if (i==3 || i==7 || i==9)array原创 2017-05-27 17:18:47 · 534 阅读 · 0 评论 -
自定义按钮控件-图标按钮
1."IconBtn.h" class CIconBtn : public CButton{ public: CIconBtn(); CImageList* m_pImageList; //图像列表指针 int m_ImageIndex; //图标索引 BOOL IsPressed; //按钮是否被按下 public: virtual void DrawI原创 2017-04-05 15:01:59 · 2239 阅读 · 0 评论 -
状态栏使用
1.声明CStatusBar m_StatusBar;2.BOOL CCreateStatusBarDlg::OnInitDialog(){// TODO: Add extra initialization hereUINT array[4];for(int i=0;i{array[i] = 1001 + i;}m_StatusBar.Create(原创 2017-05-27 17:44:20 · 424 阅读 · 0 评论 -
Windows Socket套接字(三)-MFC套接字编程
MFC:CAsyncSocket Class原创 2017-05-26 09:05:25 · 5811 阅读 · 1 评论 -
Windows Socket套接字(四)-Windows套接字错误代码
WSAGetLastError函数int WSAGetLastError(void);返回值表示该线程的最后一个Windows Sockets操作失败的错误代码。在Winsock应用程序中,使用WSAGetLastError函数检索错误代码 ,Windows Sockets替代WindowsGetLastError函数这些错误代码和与错误代码相关联的短文本描原创 2017-05-26 09:14:17 · 4557 阅读 · 2 评论 -
Windows Socket套接字(二)-MSDN:winsock入门
MSDN:winsock入门一、关于服务器和客户端服务器1.初始化-WSAStartup2.创建套接字-socket3.绑定套接字-bing4.在套接字上监听客户端-listen5.接收来自客户端的连接-accept6.接收和发送数据-recv,send 7.断开-WSACleanup客户1.初始化-WSAStartup2.创建套接字-socket原创 2017-05-25 17:09:32 · 2794 阅读 · 0 评论 -
INI文件操作
INI文件操作INI文件主要由节名、键名、键值构成读写INI文件1.writePrivateProfileString该函数用于向INI文件中写入一个字符串数据BOOL WINAPI WritePrivateProfileString( _In_ LPCTSTR lpAppName, _In_ LPCTSTR lpKeyName, _In_ LPCTSTR原创 2017-05-08 19:05:04 · 530 阅读 · 0 评论 -
文件操作
一、应用C函数进行文件操作1.fopen该函数用于打开一个文件FILE *fopen(const char* filename,const char* mode)filename:打开的文件名称mode:文件打开模式2.fclose该函数用于关闭打开的文件int fclose(FILE*stream)stream:之前打开的文件指针3.f原创 2017-05-08 17:47:42 · 579 阅读 · 0 评论 -
自定义按钮控件-圆形按钮
1."CustomButton.h"class CCustomButton : public CButton{public: CCustomButton(); BOOL m_IsPressed;public: virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); protected:public: virtual原创 2017-04-05 16:28:36 · 2301 阅读 · 0 评论 -
自定义编辑框控件-位图背景编辑框
1.BmpEdit.hclass CBmpEdit : public CEdit//以CEdit为基类派生{public: CBmpEdit(); CBitmap m_Bitmap;//声明CBitmap类对象m_Bitmappublic: virtual ~CBmpEdit(); // Generated message map functionsprotected:原创 2017-04-01 17:38:39 · 835 阅读 · 1 评论 -
自定义编辑框控件-特殊文本颜色编辑框
1.ColorEdit.hclass CColorEdit : public CEdit //以CEdit为基类派生CColorEdit{public: CColorEdit(); COLORREF m_Color; void SetColor(COLORREF color); virtual ~CColorEdit(); protected: afx_msg HBRUSH原创 2017-04-01 16:07:01 · 966 阅读 · 0 评论 -
【MFC】非模态对话框
1.打开VS2015 MFC2.打开工具箱新建按钮button13.插入资源dialog14.dialog1添加类自动生成NonModal.h,NonModal.cpp5.#include "NonModal.h"添加至MFCApplication1Dlg.h6.MFCApplication1Dlg.h中定义NonModal类型的指针变量class CMFCApplic原创 2017-02-13 14:02:06 · 1337 阅读 · 0 评论 -
MFC编辑框中追加文本
在编辑框中追加文本有2种方法:1调用SetWindowText函数首先调用CWnd::GetWindowText函数获得当前文本,然后调用CWnd::SetWindowText函数设置追加后的文本。2调用ReplaceSel函数首先调用CEdit::SetSel函数选定当前文本的末端,然后调用CEdit::ReplaceSel追加文本。SetSel函数的定义如下:void原创 2017-02-24 13:34:37 · 16723 阅读 · 0 评论 -
Windows Socket套接字(一)
MSDN:socket function原始套接字IP流式套接字TCP数据包套接字UDP一.套接字I/O模式阻塞模式(默认)和非阻塞模式ioctlsocket函数可设置二.套接字函数1.WSAStartupWSAStartup函数用于初始化wa2_32.dll动态链接库。int WSAStartup(WORD wVersionReques原创 2017-05-25 15:23:11 · 4602 阅读 · 1 评论 -
MFC文本、图形、图像、GDI+处理
GDI:Graphics Device Interface,图形设备接口DC:Device Context ,设备上下文GDI对象:字体CFont,位图CBitmap,画刷CBrush,调色板CPalette,画笔CPen,区域CRgn原创 2017-04-07 13:44:07 · 1603 阅读 · 0 评论