- 博客(349)
- 收藏
- 关注
原创 MFC中的AfxWinMain函数探索
MFC中的AfxWinMain函数 是通过win32的_tWinMain函数调用 AfxWinMain的原形为: int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,_In_ LPTSTR lpCmdLine, int nCmdShow){ASSERT(hPrevIn
2016-10-28 20:15:04 6127
原创 mfc制作动态库
1.建立MFC DLL程序 然后可以看到 1. dll with MFC static linked //使用mFC的静态库制作dll2. dll width MFC dll linked // 使用mdc的动态库制作dll 3. 使用MFC库制作自己的扩展动态库程序 区别: 规则动态库可以被任何程序调用,扩展动态库只能被支持MFC程序调用
2016-10-28 20:11:36 407
原创 MFC动态改变窗口图标
HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON);ASSERT(hIcon);AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM)hIcon);
2016-10-28 20:03:20 1338
原创 MFC改变窗口的缺省风格
可以重载preCreateWindow,其中带的参数 CREATESTRUCT,结构体 可以通过eg: cs.style &= ~WS_CAPTION;来修改窗口的预定义风格
2016-10-28 20:02:08 263
转载 recv和recv from ,send和sendto 在阻塞和非阻塞的情况下的错误码
recv:阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:非阻塞模式下返回 值 只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。write:阻塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:非阻塞模式下返回值 只是阻塞模式下write会阻塞着发送数据,非阻塞模式下如果暂时无法发送
2016-10-28 19:56:26 1181
原创 CWinApp的构造函数(摸索)
CWinApp::CWinApp(LPCTSTR lpszAppName){if (lpszAppName != NULL)/*开辟新空间,复制字符串*/m_pszAppName = _tcsdup(lpszAppName); elsem_pszAppName = NULL;// initialize CWinThread state// AFX_
2016-10-25 16:11:08 812
原创 javascript获得dianc
BatteryManagery {charging: false,chargingTime: Infinity,dischargingTime: 8940,level: 0.59,onchargingchange: null,onchargingtimechange: null,ondischargingtimechange: null,onlevelchange:
2016-10-25 09:39:15 279
原创 windows中的内存映射
1. createFile2. 创建内存映射文件 HANDLE CreateFileMapping( HANDLE hFile, // handle to file LPSECURITY_ATTRIBUTES lpAttributes, // security DWORD flProtect,
2016-10-24 23:27:54 2082
原创 windwos中的进程
进程 进程 就是一个容器,该容器是程序 进程的主线程开始意味着程序执行. 进程的特点 每个进程都有ID号 每个进程都有自己的地址空间获取进程信息 GetCurrentProcessId - 获取当前进程的ID GetCurrentProcess - 获取当前进程的句柄,(获取的是一个伪句柄)进程环境信息 1. 环境信息
2016-10-24 23:26:17 301
原创 windwos中的线程
进程多任务是每个进程都使用私有地址空间多个线程使用同一个地址空间同一时间只有一个线程在跑创建线程 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD DWORD dwStackSize, // 初始栈大小
2016-10-24 23:24:06 220
原创 windows线程同步的几种方法
线程同步技术, windows 原子锁 APi InterLockedIncrement(1个参数)InterLockedDecrement(1个参数) 临界区 VOID 初始化一个临界区 void initializeCriticalSection(LPCRITTICAL_SECTION lpCr
2016-10-24 23:23:11 479
转载 言论1
总有一天你将破蛹而出,成长得比人们期待的还要美丽。但这个过程会很痛,会很辛苦,有时候还会觉得灰心。面对着汹涌而来的现实,觉得自己渺小无力。但这,也是生命的一部分。做好现在你能做的,然后,一切都会好的。我们都将孤独地长大,不要害怕。—— 寂地《踮脚张望的时光》
2016-10-23 19:18:37 188
翻译 IUnknown
IUnknown interface 使客户在得到一个对象的基础上使用QueryInterface能够得到其他接口的指针兵且通过Addref和Release管理这个已经存在的对象,其他的COM接口都是从IUnknown类直接继承或者间接继承的,因此对于每个接口,这三个在IUknown的方法是首先被记录进虚拟函数表中的 你必须将IUknown作为每个接口的部分,如果使用的是C++多继承去
2016-10-19 18:19:28 459
翻译 IGraphBuilder
IGraphBuilder interface Intermidmate 中间媒介 这个接口提供一种方法,enable(使什么有效),使一个应用程序建立一个图标过滤器有效, 这个接口是The Filter Graph Manager 的容器 The IGraphBuilder 接口 从 IFilterGraph继承(inherits), iFil
2016-10-19 18:18:11 2387
翻译 IFilterGraph接口
IFilterGraph interface 这个 IFilterGraph 接口为建立一个过滤器图表提供了方法,一个应用程序可以通过它增加一个过滤器到图表,连接或者不连接,删除过滤器,执行一些其他基本操作,无论怎么样,我们都应该使用IGraphBuilder这个类,因为IGraphBuilder是从IFilterGraph这个类继承过来的,拥有IFilterGraph提
2016-10-19 18:16:58 713
翻译 IFileSinkFilter 接口
IFileSinkFilter 接口从IUnknown接口继承 在过滤器上实现向一个文件中写媒体流, 在视频捕获过滤器图表里一个文件的渗透过滤器,举例,将一个视频压缩过滤器的输出写到一个文件中, GetCurFile 得到媒体将要被写入的当前文件HRESULT GetCurFile( [out] LPOLESTR * ppszFileName, 一个指针(文件名的地址
2016-10-19 18:15:59 555
翻译 IGaptureGraphBuilder2接口
IGaptureGraphBuilder2 interface The ICaptureGraphBuilder2 接口使你建立的捕获图表有效, 预览图表,文件压缩图表,或者其他客户图表AllocCapFile 预先分配捕获文件的大小,该大小是指定的,最好的结果,总是捕获到一个碎片,因此捕获文件的大小应该比要捕获的数据大小要大HRESULT AllocCap
2016-10-19 18:15:03 479
原创 win32之列表框
列表框: 1.风格 单列列表框 单例列表框 - 默认多列列表框 - LBS_MULTICOLUMN多列列表框 2. 使用 创建列表框 "LISTBOX";LB_ADDSTRING - 追加选项LB_INSERTSTRING - 按照指定位置的添加 2.3 删除选项 LB_DELETESTRING - 删除指定选项
2016-10-19 18:08:33 2607
原创 win32之组合框
组和框的创建CreateWindowEx(0, L"COMBOBOX", L"Simple", WS_VISIBLE | WS_CHILD | CBS_SIMPLE, 50, 50, 100, 200, hWnd, (HMENU)1001, hInst, NULL);CreateWindowEx(0, L"COMBOBOX", L"DropDown", WS_VISIBLE | WS_CH
2016-10-19 18:07:51 1408
原创 win32编辑框的使用
分类: 一行: 多行: 密码: 编辑框的使用: 风格: ES_AUTOHSCROLL: 水平滚动 ES_AUTOVSCROLL: 垂直滚动 ES_PASSWORD: 密码.不能和ES_MULTILINE一起使用,只适合但行. ES_READONLY: 只读 ES_CENTER: 居中显示 ES_
2016-10-18 18:14:12 4393
原创 win32之单选按钮
CreateWindowEx(0, L"BUTTON", L"1", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON|WS_GROUP, 50, 260, 200, 20, hWnd, (HMENU)1007, hInst, NULL);CreateWindowEx(0, L"BUTTON", L"2", WS_CHILD | WS_VISIBLE | B
2016-10-18 18:13:33 1880
原创 win32之复选框
win32.获取和设置选择状态BM_SETCHECK wParam -- 状态 lparam -- 不用,给0;BM_GETCHECK: wParam/lParam-- 都为0,其状态通过SendMessage 的返回值判断返回值:BST_CHECKEDBST_UNCHECKED //手动 复选框 自己维护Crea
2016-10-18 18:12:23 2999
原创 win32之分组框
CreateWindowEx(0, L"BUTTON", L"分组框", WS_VISIBLE | WS_CHILD | BS_GROUPBOX, 30, 30, 300, 400, hWnd, (HMENU)1001, hInst, NULL); // WinButton.cpp : 定义应用程序的入口点。//#include "stdafx.h"#
2016-10-18 18:10:39 719
原创 win32之下压式按钮
CreateWindowEx(0, L"BUTTON", L"OK", WS_VISIBLE | WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY, 10, 10, 50, 50, hWnd, (HMENU)1001, hInst, NULL);// WinButton.cpp : 定义应用程序的入口点。//
2016-10-18 18:10:05 330
原创 win32之BUTTON
按钮: 下压式按钮: BS_PUSHBUTTON/BS_DEFPUSHBUTTON 分组框: BS_CHECKBOX/BS_AUTOCHECKBOX 单选框: BS_AUTOBUTTON/BS_AUTORADIOBUTTON 窗口类: BUTTON
2016-10-18 18:09:28 590
原创 win32之静态框
静态框 窗口类名称 "STATIC";文字静态框 - 显示文字图像静态框 - 显示图标,设置SS_ICON/SS_BITMAP; 创建图标静态框: CreateWindowEx(0,L"STATIC",L"#101",WS_VISIBLE|WS_CHILD|SS_BITMAP,...); ** 根据控件ID和父窗口句柄得到子窗口ID的办法:
2016-10-18 18:08:45 1247
原创 win32之无模式对话框
无模式对话框的创建 HWND CreateDialog( HINSTANCE hInstance, // 应用程序实例句柄 LPCTSTR lpTemplate, // 模板资源ID HWND hwnd; ) 显示showWIndow 结束 DestroyWindow(HWND),不能使用EndDialog,此处使用,会隐
2016-10-18 18:08:01 417
原创 win32之对话框
对话框: 模式对话框 -- 当显示时,本进程的其他窗口不能使用 DialogBox(...); 无模式对话框 -- 当显示是,本进程的其他窗口能使用 CreateDialog;对话框: 1. 对话框处理函数 2. 注册窗口类(需要,但不需要自己注册,由操作系统注册) 3. 创建对话框 4. 对话框的关闭
2016-10-18 18:06:26 916
原创 关闭模式对话框 EndDialog
模式对话框的关闭BOOL EndDialog( HWND hDlg, INT_PTR nResult)该函数能销毁对话框,并且nResult指明DialogBox的返回值#include #include "resource.h"// 窗口处理函数HINSTANCE g_hInstance = 0;int
2016-10-18 16:03:31 5436
原创 字体的应用
字体的应用设置字体颜色: setTextColor(HDC dc,RGB);BOOL CreateFont( int nHeight, // 高度 int nWidth, // 宽度 int nEscapement, // 字符串倾斜角度 int nOrientation, // 字符串旋转角度 int nWeight, //字体的粗
2016-10-17 18:36:40 255
原创 字符串垂直居中不剪裁
DT_VCENTER,只能与 DT_SINGLELINE搭配使用才有效#include // 窗口处理函数HINSTANCE g_hInstance = 0;LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){switch (uMsg){case WM_PA
2016-10-17 18:32:40 261
原创 自定义对应关系
自定义映射关系自定义对应关系 MM_ISOTROPIC --- 1个逻辑单位 = 自定义 MM_ANISOTROPIC --- x轴的1个逻辑单位 = 自定义1y轴的1个逻辑单位 = 自定义2BOOL SetViewportExtEx( _In_ HDC hdc, _In_ int nXExtent,// 设备单位
2016-10-17 18:31:07 304
原创 切换坐标系映射模式
映射模式int SetMapMode( HDC hdc,//DC句柄 int fnMapMode // 映射模式);fnMapMode 映射模式如下: MM_TEXT - 默认, 1个逻辑单位 = 1个像素 x轴右轴为正,y轴下为正 MM_HIENGLISH 1个逻辑单位 = 0.001英寸 MM_LOENGLIS
2016-10-17 18:30:15 731
原创 获得位图的信息
GetObject(...............)#include #include "resource.h"#include #pragma comment(lib,"msimg32.lib")// 窗口处理函数HINSTANCE g_hInstance = 0;LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, W
2016-10-17 18:29:29 390
原创 GDI绘图之缩放成像
StretchBlt 该函数可以解决该问题.#include #include "resource.h"#include #pragma comment(lib,"msimg32.lib")// 窗口处理函数HINSTANCE g_hInstance = 0;LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPA
2016-10-17 18:28:35 823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人