一个在IT行业摸爬滚打的老司机
std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。
Visual C++内存泄露检测—VLD工具使用说明 一. VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。
http://code.ijinshan.com/ http://search.csdn.net/CSDN搜索,CSDN还是有非常多的编程资源的,用它的搜索能搜出不少东西。代码类别也比较全面。 http://snippets.org/简单实用的代码收集网站,强力推荐。
基于 TCP 的 socket 编程/*服务器端程序流程:1.加载套接字库 WSAStartup2.创建套接字 socket3.将我们创建的套接字,绑定到本机地址的某一端口上 bind4.为套接字设置监听模式,准备客户请求 listen5.等待客户请求到来。
菜单结构 一个菜单栏可以有若干个子菜单,而一个子菜单又可有若干个菜单项。对于菜单栏的子菜单,由左至右从0开始索引。对于特定的子菜单的菜单项,由上至下建立从0开始的索引。访问子菜单和菜单项,均可通过其索引或标识进行。
一、创建对话框对象 1.首先利用资源编辑器创建对话框资源,并针对该对话框资源定义一个对话框类:class CTestDlg : public CDialog 2.创建话话框对象 模态对话框的创建: 如: CTestDlg dlg; dlg.DoModal(); 非模态对话框创建: 如: CTestDlg dlg; dlg.Create(IDD_DIALOG, this); 但这样是得不到一个正常显示的非模态对话框的。
当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
from:http://blog.csdn.net/leolee82/article/details/6992626 先载入一张图片,ID为IDB_BITMAP2 TestDlg.h中:CBrush m_brBk;//在public中定义TestDlg.
windows编程 全屏窗口的创建总结第一种:较简单的方法在ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);前加如下代码: ...
from:http://blog.csdn.net/leolee82/article/details/6992590 先认识一下MFC中的一些和绘图有关的结构体和类 1.点 (1)点结构POINT点数据结构POINT用来表示一点的x、y坐标: typedef struct tagPOINT { L...
from:http://hi.baidu.com/c996387762/blog/item/d1d54b250412602cd40742b2.html 首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。
画刷类CBrush利用画笔可以画图形的边框,而用画刷就可以在图形内着色。大多数的GDI绘图函数既使用画笔又使用画刷,它们用画笔绘制各种图形的周边,而用画刷填充图形,因而可以用一种颜色和风格去设置画笔,而用另一种颜色和风格去设定画刷,通过一次函数调用就可以绘制出形状复杂的图形。
AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名、窗口是叠加型的、可改变窗口大小等。要修改窗口的缺省风格,需要重载CWnd::PreCreateWindow(CREATESTRUCT& cs)函数,并在其中修改CREATESTRUCT型参数cs。
问题是这样产生的.在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.
设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示窗口时按顺序调用OnSize()>OnEraseBkgnd()>OnPaint()>OnCtlColor()。
在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。
ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。
今天看到淘宝UED团队发布了一个Chrome扩展,用于支持在Chrome浏览器点击"和我联系"按钮会弹出旺旺的聊天窗口。我把这个扩展下载了下来,发现里面使用了插件,不理解这个"npwangwang.dll"对应的代码就不能理解这个扩展,Google官方文档中没有怎么讲插件的开发,也找不到什么好的实例。
问题一解决方案: 在编activex控件时,可以用到Active X control test container来测试activex控件,这在VisualStudio 6里面是很方便查找的,工具菜单下面就有。
1,环境的配置 参考这篇bolg: http://blog.csdn.net/mythma/archive/2008/08/31/2857664.aspx 工程 / 调试 / 命令:C:/Program Files/Internet Explorer/iexplore.
不知道是不是微软的粗心大意,VS2008中竟然没有ActiveX控件测试容器。 幸好需要在IE中测试控件,就不需要那个测试容器啦。 1. 生产测试控件的HTML: Test 2. 设置debug选项 command: C:/Program Files/Internet Explorer/iexplore.exe command arguments: F:/test.htm 3. 全路径 注册ocx时,需要使用全路径。
问题: 我在学习编程过程中,在ocx静态调用Dynamic Link Library,链接提示错误:Project:error PRJ0050:未能注册输出。请尝试启用“每个用户的重定向”,或用提升权限从命令提示窗口中注册该组件。
一.IDE基础配置 1.字体 VC6中“Tools→Options→Format→Font”配置字体;VC2005中“工具→选项→环境→字体和颜色”配置字体。 编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点。
VC的工程设置解读Project--Settings VC工程设置可能会直接影响到工程的正确性,有时是BUG产生的直接原因,在出现莫名其妙的错误,首先应考虑到是否是工程设置有问题,这无论对于开发还是测试,都是很必要的,本文大致介绍一下工程设置选项。
在调试 Visual Studio 2008 程序时,经常有一些动态链接库(即 dll 文件)需要加载到工程里,这样才能依赖第三方库进行程序调试。 这些动态链接库,往往都是测试版本或是开发中的版本,或者会有若干个版本;这个时候,如果直接把 dll 所在目录加到 PATH 里,则会有潜在冲突的危险;如果直接拷贝到 Visual Studio 的目录下,假如测试工程太多,每次有新版本的动态链接库更新时,你需要更新若干次,拷贝、粘贴苦不堪言。
DSW:全称是Developer Studio Workspace,最高级别的配置文件,记录了整个工作空间的配置信息,她是一个纯文本的文件,在vc创建新项目的时候自动生成 DSP:全称是Developer Studio Project,也是一个配置文件,不过她记录的是一个项目的所有配置信息,...
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REU...
可以用GetSystemMetrics函数可以获取系统分辨率,但这只是其功能之一,GetSystemMetrics函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。
_itoa 功能:把一整数转换为字符串 用法:char * _itoa(int value, char *string, int radix); 详细解释: _itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
非模态对话框自动销毁的好方法在进行非模态对话框编程时,由于其需要通过new 一个对话框对象,然后调用Create函数来创建,这就牵涉到何时把对话框delete掉的问题,通过如下方法,可以让你不再担心对话框忘记delete掉而导致的内存泄漏问题。
先来看CreateEx函数: BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWn...
总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转) 2009年09月22日 下午 08:33 第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。
win32直接操作的是句柄HANDLE,每个句柄就对应windows窗口,而vc对HANDLE进行类封装,间接操作的都是HANDLE,现在句柄只是类的一个成员变量。 从句柄到指针 CWnd* pWnd=CWnd::FromHandle(hWnd); //a temporary CWnd object is created //and attached.
基于对话框的程序(mfc默认生成),重载OnEraseBkgnd函数,其它不动,若在OnPaint函数中不调用其基类的OnPaint函数,即注释掉CDialog::OnPaint();,代码如下: [cpp] view plaincopyprint? void CDDDDlg...
方法一: 在OnPaint中StretchBlt 具体是:注释掉CDialog::OnPaint()或放到结尾(原因何在呢?),并加入贴图代码 [cpp] view plaincopyprint? void CqqqqqDlg::OnPaint() { ...
设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示时调用OnSize()->OnEraseBkgnd(),->OnPaint()->OnCtlColor(), 若想改变对话框大小,比如全屏显示ShowWindo...
void Invalidate( BOOL bErase = TRUE );该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。
MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always on top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。
1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个 窗口背后移出时,当最大化或最小化窗口时,等等,这些动作都是由系统管理的,应用只是被动地接收该消息,在消息处理 函数中进行绘制操作;大多数的时候应用也需要能够主动引发窗口中的绘制操作,比如当窗口显示的数据改变的时候,这一 般是通过 InvalidateRect 和 InvalidateRgn 函数来完成的。
@echo off SET Pash=%cd% rem 删除当前目录下所有obj,bin目录for /f "tokens=*" %%a in ('dir obj /b /ad /s ^|sort') do rd "%%a" /s/qfor /f "tokens=*" %%a in ('dir ...
以前写过类似的函数,最近又用到了,简单总结一下,以备后用。 1 StrToInt 此函数将编辑框中输入的字符串,如“1001”,转化为十进制数字,如1001。 int StrToInt(const char* str){ int num = 0; BOOL RIGHT =...
1 DAO简介 DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。
本文介绍使用MFC DAO访问数据库的一个实例,其中实例来源于网络。 实例同样实现了对数据库的基本操作:添加、修改、删除和遍历。与ODBC实例中不同的是,ODBC使用过程中添加了一个从CRecordset派生而来的CBook类,负责成员数据与数据表字段的关联,而本实例则是直接使用CDaoRecordset类。
欲在。EXE 中调用PRO.DLL PRO.DLL中函数如: long MenuExecute( char *, long , HWND , long , char *, long , void * ); 在.
1 在多文档多视图的MFC架构中,要想获得当前选中的CView可重写CView::OnActivateView函数,如下: void OnActivateView(BOOL bActivate, CView * pActivateView, CV...
/*try { ProTestMode(FALSE, FALSE); } catch(CException *e) { TCHAR szCause[1024]; e->GetErrorMessage(s...
xcopy $(SolutionDir)/PreBuild/Share $(SolutionDir)/Debug/ /s /e /c /yxcopy $(SolutionDir)/PreBuild/Debug $(SolutionDir)/Debug/ /s /e /c /y xcopy ...
对预编译头文件说明如下: 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。
使用MFC的控件时,如EDIT控件,添加变量时有两种类型:VALUE和CONTROL; 两种变量的区别如下: 1 VALUE是有个变量和这个控件关联,例如编辑框,你输入东西后,updatedata(),就会把输入的东西传给这个变量; 2 CONTROL是建了一个控件的实例,就像类实例,可以用控件的实例来控制该控件的行为,从而使用其方法。
Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。 Settimer是设置,Ontimer是响应Settimer消息的。