29
2014
07

C++MFC编程笔记day02 MFC消息映射机制、菜单资源使用

机制3:MFC消息映射机制:

类内声明,类外定义宏,绑定消息处理函数

派生自CCmdTarget

类内声明宏:DECLARE_MESSAGE_MAP()

类外添加实现宏:

BEGIN_MESSAGE_MAP(类名,父类名)

END_MESSAGE_MAP()

//数据结构

struct AFX_MSGMAP_ENTRY

29
2014
07

C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理

一、MFC概念和作用

1、全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的执行流程

MFC就是一个库(动态库,静态库)

MFC还是一个程序框架

2、为什么使用MFC

基于框架编程,提高工作效率,减少开发周期,节约开发成本。

29
2014
07

C++windows内核编程笔记day14 其他线程同步技术

线程同步技术:

原子锁

临界区(段)

互斥

事件

信号量(线程示例时已经使用过)

可等候定时器



使用范围:原子锁<临界区<互斥

效率:    原子锁>临界区(用户态)>互斥(内核态)

一般用临界区。





28
2014
07

C++windows内核编程笔记day13 进程、线程与信号量

Windows进程

进程是一个容器,包含程序执行需要的代码、数据、资源等信息,

windows进程的特点:

每个进程都有自己的ID号

每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。

每个进程都有自己的安全属性

每个进程至少包含一个线程。

获取和释放环境信息

GetEnvironmentStrings

28
2014
07

c++windows内核编程笔记day12 硬盘逻辑分区管理、文件管理、内存管理

windows系统磁盘文件存储:

分区格式:NTFS / FAT32


GetSystemDirectory();//获取系统路径

GetWindowsDirectory();//获取windows路径

GetCurrentDirectory();//获取当前工作目录

SetCurrentDirectory();//修改当前工作目录

28
2014
07

C++windows内核编程笔记day11 win32静态库和动态库的使用

windows库程序:

静态库:

源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB


动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL



静态库(C语言):

27
2014
07

C++windows内核编程笔记day09_day10,对话框和窗口基本控件等的使用

//设置字体颜色

SetTextColor(hdc,RGB(255,0,0));



//窗口背景

//wce.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);

//wce.hbrBackground=CreateSolidBrush(RGB(0,0,255));



//设置字体背景

SetBkColor(hdc,RGB(0,0,200));

27
2014
07

C++windows内核编程笔记day07_day08,可视化建菜单、加速键使用、绘图等

可视化操作创建的菜单,加载到窗口。

方法1:注册时指定菜单

wce.lpszMenuName=MAKEINTRESOURCE(IDR_MENUMAIN);//数字形式的资源ID转换为字符串形式的资源

方法2:

//创建窗口时加载菜单资源

HMENU menumain= LoadMenu(g_hinstance,MAKEINTRESOURCE(IDR_MENUMAIN));

menumain 传入 CreateWindowEx();//倒数第三个参数

26
2014
07

C++windows内核编程笔记day06 代码创建菜单


创建菜单:

HMENU CreateMenu(VOID);

添加菜单项:

BOOL AppendMenu(  HMENU hMenu,         // handle to menu

  UINT uFlags,         // menu-item options

  UINT_PTR uIDNewItem, // identifier, menu, or submenu

26
2014
07

C++windows内核编程笔记day03_day04_day05

windows消息机制、消息格式和消息处理1


unicode支持,windows下用:

1、先在#include<windows.h>上面,定义 UNICODE

#define UNICODE

2、定义字符串

TCHAR * ptxt=TEXT("学习hello c++");

3、根据需要,打印不同格式字符串

#ifdef UNICODE

    wprintf(L"%s\n",ptxt);