c/c++
z0203153008
这个作者很懒,什么都没留下…
展开
-
派生类到基类的转换(c++学习笔记)
基类类型的引用或指针既可以引用基类对象,也可以引用派生类对象,但编译器只把它当做基类类型对象。#include using namespace std;class base{public: base():cat(0){} void print() { cout << "cat" << cat << endl; }private: int c原创 2009-09-30 00:42:00 · 1257 阅读 · 1 评论 -
在CListCtrl的每个项都显示不同的提示信息(CToolTipCtrl)
<br />添加CToolTipCtrl成员变量m_toolTipCtrl,CListCtrl成员变量m_ListUser,CImageList成员变量m_imageList(这个可以不要)<br />在OnInitDialog()函数里加下面代码<br />m_BoradcastEnd.EnableWindow(FALSE); m_imageList.Create(32, 32, ILC_COLOR8, 2, 2); DWORD dwStyle = m_ListUser.GetExtende原创 2010-10-21 16:58:00 · 2778 阅读 · 0 评论 -
SGI STL内存池
// mem_pool.h#ifndef mem_pool_h#define mem_pool_h#pragma once#define ALIGN 512#define MAX_BLOCK_SIZE 20 * 1024#define BLOCK_LIST_NUM MAX_BLOCK_SIZE / ALIGNclass mem_pool{ CRITICAL_SECTION alloc_lock; union obj{ union obj* fre转载 2010-10-19 14:26:00 · 646 阅读 · 0 评论 -
sizeof与对象内存布局
<br /> <br />有了前面几节的铺垫,本节开始摸索C++的对象的内存布局,平台为windows32位+VS2008。<br />一 内置类型的size<br />内置类型,直接上代码,帮助大家加深记忆:<br /> <br />void TestBasicSizeOf()<br />{<br /> cout << __FUNCTION__ << endl;<br /> <br /> cout << " sizeof(char)= " << sizeof ( char ) << endl;<b转载 2010-10-17 13:39:00 · 463 阅读 · 0 评论 -
BitBlt
<br /><br />BitBlt<br /> <br />该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。<br />原型: <br />BOOL BitBlt(<br /> HDC hdcDest,<br /> int nXDest, int nYDest, int nWidth, int nHeight,<br /> HDC hdcSrc,<br /> int nXSrc, int nYSrc,<br转载 2010-10-13 10:04:00 · 1568 阅读 · 0 评论 -
StretchBlt、SetSTretchBltMode
<br /><br />StretchBlt <br /> <br />函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩以满足目标矩形的尺寸。<br />原型:<br />BOOL StretchBlt(<br /> HDC hdcDest, <br /> int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, <br /> HDC hdcSrc, <br />转载 2010-10-13 10:05:00 · 2132 阅读 · 0 评论 -
CreateDIBSection、BITMAPINFO、BITMAPINFOHEADER、RGBQUAD
<br /><br />CreateDIBSection<br /><br /> <br />该函数创建应用程序可以直接写入的、与设备无关的位图(DIB)。该函数返回一个位图句柄。<br />原型: <br /> HBITMAP CreateDIBSection(<br /> HDC hdc,<br /> CONST BITMAPINFO * pbmi,<br /> UINT iUsage,转载 2010-10-13 09:47:00 · 579 阅读 · 0 评论 -
SetWindowPos改变窗口的位置和状态
SetWindowPos 函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags); 参数: hWnd:窗口句柄。 hWndlnsertAfter:在z序中的位于被置位转载 2010-10-08 15:38:00 · 4023 阅读 · 0 评论 -
Showwindow 及参数
Showwindow 及参数[DllImport("user32.dll", EntryPoint = "ShowWindow", CharSet = CharSet.Auto)] public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);函数功能:该函数设置指定窗口的显示状态。 参数: hWnd:窗口句柄。 nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程转载 2010-10-08 15:21:00 · 875 阅读 · 0 评论 -
CListCtrl 使用技巧
作者:lixiaosan时间:04/06/2006以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详转载 2010-10-08 09:24:00 · 347 阅读 · 0 评论 -
nullptr
<br />nullptr解决的问题:<br />例如有两个重载函数<br />int foo(const char*a);<br />int foo(int a);<br />如果有代码foo(NULL),按照期望是应该调用第一个函数的,但是由于在C++中NULL被定义成0,所以实际调用的是第二个,这与我们的直觉不同。nullptr不能直接转换成int,所以如果使用foo(nullptr),调用到的将是"正确"的函数原创 2010-09-30 23:24:00 · 607 阅读 · 0 评论 -
VC连接数据库
<br />SQL Server连接字符串: <br />"User ID=登陆名;Data Source=数据源;Password=密码;Initial Catalog=数据库名;Provider=SQLOLEDB.1;Persist Security Info=True";<br /><br />Oracal连接字符串(微软格式):<br />"Provider=MSDAORA;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;"原创 2010-09-10 10:16:00 · 431 阅读 · 0 评论 -
c++中cerr和cout的区别
cerrThe object controls unbuffered insertions to the standard error output as a byte stream. Once the object is nstructed, the expression cerr.flags & unitbuf is nonzero. Example // iostream_原创 2009-10-20 14:28:00 · 1159 阅读 · 2 评论 -
C的语言游戏
这几天,本站推出了几篇关于C语言的很多文章如下所示:语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? [酷壳链接] [CSDN链接] 6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接] 如何加密/弄乱C源代码 [酷壳链接] [CSDN链接] C语言的谜题 [酷壳链接] [CSDN链接] 我们可以看到很多C语言相关的一些东转载 2009-10-20 14:50:00 · 567 阅读 · 0 评论 -
智能指针auto_prt的使用(c++学习笔记)
c++中如果要申请资源一般用到new,最后释放资源delete,如果我们在delete之前就退出了函数呢,看下面的代码:#include //#include using namespace std;void fun(){ int *ptr = new int; if(ptr == 0) { delete ptr; return; }原创 2009-10-10 21:59:00 · 2565 阅读 · 0 评论 -
c++ 动态绑定(c++学习笔记)
c++中有一个很好的特性,通过动态绑定我们能够编写使用继承层次中的任意对象,这样做可以在定义函数的时候可以只声明基类的形参但调用的时候可以使用任何的继承层次中的对象 类的继承和虚函数,使我们可以使用c++中的动态绑定。 #include using namespace std;//基类class base{protected:原创 2009-09-28 13:08:00 · 648 阅读 · 0 评论 -
MFC修改托盘图标问题
<br />在修改托盘图标Shell_NotifyIcon函数的第二个参数的nID选项无需再修改, 只修改hIcon选项就可以了,否则会修改失败。原创 2010-10-27 11:14:00 · 802 阅读 · 0 评论