VC/MFC
文章平均质量分 81
comwise
这个作者很懒,什么都没留下…
展开
-
MFC中连接SQL Server的方法
在MFC中,主要有两种方法可以连接sql数据库1.利用ADO连接:#import "msado15.dll" no_namespace rename("EOF", "EndOfFile") //必须import这个dll,这个文件通常放在C:\Program Files\Common Files\System\ado路径下._ConnectionPtr m_ptrConnectio转载 2013-10-23 20:44:14 · 2961 阅读 · 0 评论 -
XScrollBar - Scroll bar like Windows Media Player's
XScrollBar - Scroll bar like Windows Media Player'sXScrollBar is a scroll bar that may be displayed with optional thumb color, thumb gripper, and channel colorDownload demo project - 8转载 2014-11-08 00:13:31 · 1487 阅读 · 0 评论 -
VC/MFC中如何替换自带滚动条控件的图片
Replace a Window's Internal Scrollbar with a customdraw scrollbar Controlflyhigh,17 Jun 2007 CPOL 4.40 (49 votes)1234转载 2014-11-07 23:48:09 · 2488 阅读 · 0 评论 -
VS2012 连接 SQL Server 2012 Express
如何生成SQL Server以及直接操作和部署数据库先略 先看如何操作数据库VS2012集成的功能相当强大,以前的版本可能也有,只是没在意1)如何设置数据源(MSDN提供),当然这里也可以不设置,再后面添加类也可以设置从“开始”菜单中,选择“设置”、“控制面板”、“管理工具”、“数据源 (ODBC)”,然后选择“ODBC 数据源管理器”。请查看如何使用ODBC设置数据源:h原创 2013-10-23 22:35:40 · 6508 阅读 · 0 评论 -
VC/MFC开发中的句柄HWND
Windows开发中,经常会碰到一个常见的字眼HWND,如下 HWND hWnd; hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);HW原创 2014-05-01 12:42:26 · 5262 阅读 · 0 评论 -
__stdcall、__cdecl、CALLBACK、WINAPI区别
先看下windows下的使用:LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);这里就有一个CALLBACK,转到定义看一下#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)#define CALLBACK __stdcall#define WINAPI原创 2014-05-01 12:10:26 · 3163 阅读 · 0 评论 -
深入分析MFC启动流程
精简以上代码,就会发现其实是一样的1.初始化主框架,保存参数 : if (!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))2.初始化文档管理器:pApp->InitApplication()3.初始化窗口: if (!pThread->InitInstance())由于InitInstance()是虚函数,会调用子类重写的此函数 ,就是这个函数BOOL CMFCHelloApp::InitInstance(),在这个原创 2013-11-27 15:59:29 · 3425 阅读 · 0 评论 -
MFC之消息传递(A->B->C, C为主窗口且没有启动)
情况一:你希望启动一个进程A,如果希望在进程A中再启动B,并暂停当前进程A直到进程B进程结束返回,就可以调用::WaitForSingleObject函数,注意:Linux内核其实也提供了类似的函数可以执行进程A的同时创建B,并且以不同的顺序执行 STARTUPINFO si; ::ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = si原创 2013-10-23 17:02:55 · 1377 阅读 · 0 评论 -
深入分析MFC消息映射
在MFC生成的类中,我们会发现几处使用宏的地方,如下DECLARE_MESSAGE_MAP()BEGIN_MESSAGE_MAP(CMFCHelloDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON()END_MESSAGE_MAP()这里就是提供消息循环的地方,这里可以避免使用冗长的虚表,因为如果每个类对他可能接收的消息都有一个虚函数,那么就需要过多的虚表,占用较多的内存空间。而原创 2013-11-27 21:21:59 · 2183 阅读 · 0 评论 -
深入分析MFC之GDI原理透析
为什么会使用GDI呢?首先要理解一般显示器,是将要显示的内容存放在显存中,framebuffer就是用来存储显示的数据,由DMA自动读取数据将其显示在窗口中,而这里显示的只是一个个的像素点。通常是先显示一行的像素点,发出水平同步信号后,再显示下一行,当整个一屏幕的数据显示完全后,才会发出垂直同步信号,发出下一帧数据。注意这里。。。MFC如何使用GDI?首先对于GDI而言,他并不是将图像直接显示在设备上,而是将显示的数据首先绘制在一个设备描述表DC中,这里面存储了显示图像的描述字段,包括物理设备和各种状原创 2013-12-06 16:01:45 · 4222 阅读 · 0 评论 -
服务器IO模型之Select
阻塞与非阻塞:widows下创建套接字默认都是阻塞型的,阻塞型的好处是处理简单,理解容易,但是处理多个套接字时,就必须创建多个线程,即一个连接socket使用一个线程。而非阻塞模式比如在处理发送和接收数据时,会立即返回,不管是否有有效的数据,这就需要不断测试返回代码,来确定套接字在什么时候可读/可写,也就是确定网络事件何时发生,比如中断默认就是一种事件触发型,比如菜单按钮也是事件触发性,但原创 2014-01-09 23:04:41 · 1613 阅读 · 0 评论 -
如何使用Windows API获取IP、MAC
这里用的两个函数:gethostbyname/gethostbyaddr,GetAdaptersInfo,这里主要通过获取IP看链表的操作,如下获取所有IP地址的函数,如下:int CIPInfo::GetIPInfo(const char * szHostName){ char szHost[HOST_NAME_MAX]; HOSTENT* pHost; char* szIPAddr = NULL;原创 2013-12-29 16:18:08 · 3878 阅读 · 0 评论 -
动态链接库DLL
概述:动态链接库通常不能直接运行,也不能接受消息。他们是一些独立的文件,其中包括可被执行程序或者其他DLL调用来完成某项工作的函数。WINAPI提供的3个重要DLL:Kernel32.dll:包含管理内存,进程和线程的函数User32.dll:包含那些用于执行用户界面的任务的函数,如窗口的创建和消息的发送GDI32.dll:包含那些用于画图和显示文本的函数静态库与动态库原创 2014-03-23 11:18:47 · 1498 阅读 · 0 评论