- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 vector入门
vector数组是标准名字空间(std::)的一部分,当我们需要存储动态数据时(如:在程序执行中数组要改变大小时),可以考虑使用vector#include //使用cout#include //stl vector头文件using namespace std; //使用标准名字空间void main(
2006-08-04 16:05:00 1415
原创 对话框FAQ(来自网络)
一、在对话框中使用菜单方法1:先在资源编辑器里制作好菜单,假设ID为IDR_MENU1,然后打开对话框的属性窗口,在Dialog属性里的General中选择你的Menu菜单的ID就行了方法2:CMenu menu; menu.LoadMenu(IDR_MENU1); SetMenu(&menu);方法3:HMENU hMenu = LoadM
2006-07-11 12:38:00 2003
原创 添加自定义消息
1、在.h文件中定义消息代码:#define WM_MYMSG WM_USER+1002、在.h文件中添加自定义消息函数:afx_msg void OnMyMsg(WPARAM wParam,LPARAM lParam);3、在对应的.cpp中添加函数映射及函数体:ON_MESSAGE(WM_MYMSG,OnMyMsg) CXX
2006-07-10 12:36:00 1161 1
原创 如何使用DLL
1、创建dll:在.cpp头部加上如下语句:#define DLLEXPORT __declspec(dllexport) 2、实现函数:DLLEXPORT int Add(int first,int second){ return (first+second); }3、 使用Dll:在要使用该dll中函数的头文件中加入:#define DLLIMPORT __decl
2006-07-04 15:49:00 4430 1
原创 为所有子窗口设置同种字体
一、在App头文件中加入:BOOL __stdcall SetChildFont(HWND hwnd, LPARAM lparam); class TApplicationFont : public CObject {private: CString m_strFaceName; int m_nFontSize; int m_nPointSize; CFon
2006-07-03 13:20:00 1363
转载 实现背景颜色的渐变效果(code project)
如果只是实现水平或垂直方向的背景色渐变,只需重载OnEraseBkgnd函数,具体代码如下:CDialog::OnEraseBkgnd(pDC);CRect rect;GetClientRect(&rect);int r1=127,g1=127,b1=56; //Any start colorint r2=5,g2=55,b2=165; //Any stop colorfor(int
2006-06-22 14:26:00 1601 1
原创 几种DC及区别
CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC:CClientDC::CClientDC(CWnd* pWnd){ ... if (!Attach(::GetDC(m_hWnd = pWnd->GetSafeHwnd()))) AfxThrow
2006-06-22 12:39:00 1616
转载 为对话框工具条显示提示(来自codeguru)
1、对话框.h文件中添加:protected: CToolBar cToolBar;//}}AFX_MSGafx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult);DECLARE_MESSAGE_MAP()2、对话框.cpp文件中添加://add the tool bar to the dia
2006-06-21 16:56:00 2196
转载 用非递归方式遍历目录及其子目录的文件
typedef BOOL (*PROCESS_FILE_FUNCTION)(LPCTSTR filename);上面的PROCESS_FILE_FUNCTION是一种函数指针,这个函数处理文件名为filename的文件,如果该函数返回FALSE,则ProcessDirectory立刻退出,不再继续查找void ProcessDirectory(LPCTSTR dirname,PROCESS_FIL
2006-06-21 13:56:00 1363
转载 取随机数算法
//先调用它 srand( (unsigned)time( NULL ) ); //随机数计时开始 然后调用 GetRand(float nMin, float nMax) { float max; max=RAND_MAX; return (int)(rand()*(nMax-nMin)/max+nMin); }
2006-06-21 13:45:00 1176
转载 数字转换为中文大写
// 模块:数字转换为中文大写#include "stdafx.h"static char *unit1[] = { "拾","佰","仟" };static char *unit2[] = { "万","亿" };static char *digital[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};// 功能:将万以内的数据转
2006-06-21 12:15:00 1085
转载 XP风格按钮(转自code project)
// XPButton.h : header fileclass CXPButton : public CButton{ DECLARE_DYNCREATE(CXPButton)// Constructionpublic: CXPButton(); CPen pBoundryPen; CPen pInsideBoundryPenLeft; CPen pInsideBoundryPenTop; CP
2006-06-19 12:51:00 1438
原创 链表与数组的区别
链表和数组一样是一种数据结构。数组是将元素在内存中连续存放,由于每个元素占用内存相同,所以可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。 链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系
2006-06-16 16:06:00 4825 1
原创 CListView && CListCtrl
//设置List Control属性 CListCtrl* pListCtrl=(CListCtrl*)(GetDlgItem(IDC_LIST1)); DWORD dwStype=GetWindowLong(pListCtrl->m_hWnd,GWL_STYLE); dwStype&=~LVS_TYPEMASK; dwStype|=LVS_REPORT; SetWindo
2006-06-13 13:01:00 1789
原创 CTreeView & CTreeCtrl
//插入数据 HTREEITEM hParent = m_TreeCtrl.InsertItem(_T("Root"),TVI_ROOT,TVI_LAST); HTREEITEM hChild1 = m_TreeCtrl.InsertItem(_T("Child1"),hParent); HTREEITEM hChild2 = m_TreeCtrl.InsertItem(_T("Child2"
2006-06-12 16:23:00 1631
原创 Windows操作系统最常用的七大组合键
1、显示“开始”菜单:按Ctrl+ESC键。 其实显示“开始”菜单最直接的键应该是WINKEY键(WINKEY指的是键盘上刻有Windows徽标的键)。但现在五花八门的键盘越来越多,有些键盘上面就没有这个键;或者在有些笔记本电脑上面为了节省空间,设计者们也没有把这个键安排在上面。还有朋友肯定会提出这样的问题:我直接用鼠标点击屏幕左下脚的“开始”标志不就完了吗?没错,可是有时候我们看到别人的电
2006-06-12 15:45:00 1314
原创 用VC取得当前操作系统的版本
#include #include BOOL DisplaySystemVersion(){ OSVERSIONINFOEX osvi; BOOL bOsVersionInfoEx; // Try calling GetVersionEx using the OSVERSIONINFOEX structure. // // If that fails, try usin
2006-06-12 15:38:00 1146
转载 公历转农历
/*------------农历转换函数-----------*/char *GetDayOf(PSYSTEMTIME pSt){ /*天干名称*/ const char *cTianGan[] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; /*地支名称*/ const char *cDiZhi[] = {"子","丑","寅","卯","辰","巳"
2006-06-12 15:03:00 1211
原创 排序算法
冒泡法:#include void BubbleSort(int* pData,int Count){ int iTemp; for(int i=1;i { for(int j=Count-1;j>=i;j--) { if(pData[j] { iTemp = pData[j-1
2006-06-12 14:05:00 965
原创 CListBox支持水平滚动条
class CListBoxEx : public CListBox{// Attributespublic: int m_nMaxWidth;// Operationspublic: int AddString(LPCTSTR lpszItem); int DeleteString(int nIndex); int InsertString(int nIndex,LPCTSTR lpsz
2006-06-08 16:00:00 1935
转载 DRAWITEMSTRUCT结构文档
DRAWITEMSTRUCT 为需要自绘的控件或者菜单项提供了必要的信息。在需要绘制的控件或者菜单项对应的WM_DRAWITEM消息函数中得到一个指向该结构的指针。 DRAWITEMSTRUCT结构的定义如下:typedef struct tagDRAWITEMSTRUCT {UINT CtlType; UINT CtlID; UINT itemID; UINT itemAction; UINT
2006-05-30 13:03:00 1557
原创 ComboBox
一、设置下拉组合框自动适应字符串宽度:1、重载CComboBox类2、响应 CBN_DROPDOWN 消息3、添加如下代码:void CMyComboBox::OnDropdown() { this->RecalcDropWidth();}void CMyComboBox::RecalcDropWidth(){ int num = this->GetCount(); int nWi
2006-05-29 13:49:00 855
转载 什么是Unicode是什么是UTF-8
首先说明一下现在常用的一些编码方案: 1、在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的。最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号95年重新修订了编码,命名GBK1.0,共收录了21886个符号。之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,
2006-04-28 15:45:00 1100
原创 端口概念
端口概念 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。 查看端口 在Win
2006-04-24 13:04:00 822
转载 支持多个文档类型的文档视结构程序
要支持多种文档类型,可以在CWinApp派生类对象中创建和注册附加的CMultiDocTemplate对象。在MFC应用程序中,要增加附加的文档类型,步骤可分为五步。下面我们试着将上一章的文本编辑器加到绘图程序中。这样程序不仅支持绘图,还支持文本编辑功能。 (1)使用ClassWizard创建新的文档类和视图类: 由于已经有了前面的文本编辑器程序,只需要将其中的文件拷贝过来就可以了,然后
2006-04-12 15:37:00 913
转载 笑话感悟
1、建筑师 一位夫人打电话给建筑师,说每当火车经过时,她的睡床就会摇动。 “这简直是无稽之谈1建筑师回答说,“我来看看。” 建筑师到达后,夫人建议他躺在床上,体会一下火车经过时的感觉。 建筑师刚上床躺下,夫人的丈夫就回来了。他见此情形,便厉声喝问:“你躺在我妻子的床上干什么?” 建筑师战战兢兢地回答:“我说是在等火车,你会相信吗?” 【顿悟】有些话是真的,却听上去很假;有些话是假的
2006-04-07 16:30:00 761
原创 CHeaderCtrl
当CListCtrl为LVS_REPORT模式时,就需要用到CHeaderCtrl 取得CHeaderCtrl指针: 方法一: CListCtrl *pListCtrl = (CListCtrl *)GetListCtrl(); CHeaderCtrl *pHeaderCtrl = pListCtrl->GetHeader
2006-04-07 13:26:00 3024 1
原创 在VC6.0中使用新版的MSDN
Tools->Customize->Tools->Menu Contents中加入字符串,如"MSDN",再数一下新加字符串在Menu Contents中的序号(从1开始),在command中选择“C:/Program Files/Common Files/Microsoft Shared/Help/dexplore.exe”,在Arguments中“/helpcol ms-help://MS.M
2006-03-30 13:57:00 1500
原创 用代码锁定计算机
int (__stdcall *MyLockWorkStation)();void LockComputer(){ HINSTANCE hInst; hInst = LoadLibrary("user32.dll"); if (hInst) { MyLockWorkStation = (int(__stdcall *)())GetProcAddress(hInst,"LockWorkStatio
2006-03-27 11:46:00 1168
原创 CTabCtrl
1、获得CTabCtrl标签高度:CRect rc; CTabCtrl *pTabCtrl = GetTabControl(); pTabCtrl->GetItemRect(&rc); int nHeight = rc.Height();2、修改CTabCtrl标签上的文字:
2006-03-23 14:55:00 6794 2
转载 VC FAQ
1、当鼠标在窗口中改变鼠标形状:处理WM_SETCURSOR消息: HCURSOR hCursor = LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDC_CURSOR1)); ::SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)hCursor);2、让窗口始终在其它窗口之上显示:SetWindowPos(&w
2006-03-16 15:02:00 1042
转载 BIOS与CMOS
BIOS是一组设置硬件的电脑程序,保存在主板上的一块ROM芯片中,是电脑主板上一块可读写的RAM芯片,用于保存当前系统的硬件配置和用户参数设置CMOS芯片由主板上的充电电池供电,即使系统断电,参数也不会丢失。准确的说法是通过BIOS设置程序对CMOS参数进行设置
2006-03-15 14:17:00 1037
原创 关于系统时间的一些操作
1、CTime与COleDateTime的区别:CTime只能表示1970-1-1到2038-12-31的时间,而COleDateTime可以表示100-1-1到9999-12-31的时间2、取得系统启动后经历的时间:GetTickCount()如:DWORD dwStart = GetTickCount(); //取得毫秒级的精度,只能精确到55ms
2006-02-25 12:29:00 700
原创 文件操作
一、打开文件对话框:CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParen
2006-02-23 15:55:00 1276
原创 ListView控件使用
在.h中CListCtrl m_ListCtrl;在.cpp中//添加ListCtrl标题 m_ListCtrl.InsertColumn(0,_T("标题"),LVCFMT_CENTER); //第一栏设置center属性不能成功 m_ListCtrl.SetColumnWidth(0,200); m_ListCtrl.InsertColumn(1,_T("位置"),LVCFMT_C
2006-02-23 11:59:00 1156
Windows驱动开发技术详解
2015-02-12
计算机与互联网术语词典
2012-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人