C++
文章平均质量分 58
我是云妮
程序员一枚菜鸟加油
展开
-
const指针和指向常量的指针
先看下面六种写法:1. const int p;2. const int *p;3. int const* p;4. int * const p;5. const int * const p;6. int const * const p;那么我们应该怎么区分上面的写法到底是指向常量的指针还是const指针(表示指针本身是常量)呢?一个简便方法:从由往左读,遇到p就替换为“...转载 2019-09-17 16:27:01 · 389 阅读 · 0 评论 -
mfc Combox扩展类
这是我在网上寻找的一个combox扩展类,并加以改进,实现combox自绘,允许改变其样式,及是否可编辑属性,及设置文本内容等。使用例子:vector m_vecAddComboxControl;//下拉框记录列表afx_msg void OnMyCombox(UINT nId);void OnEditMyCombox(UINT nId);CWnd* Cre原创 2013-12-17 12:05:12 · 1473 阅读 · 0 评论 -
MFC模态对话框和非模态对话框
转:http://blog.csdn.net/candyliuxj/article/details/6736032MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将转载 2013-12-16 15:29:08 · 809 阅读 · 0 评论 -
mfc 垂直滚动条添加,并响应鼠标滑轮消息
添加垂直滚动条,需要如下函数:void CKTLXSetCard::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){// TODO: Add your message handler code here and/or call default SCROLLINFO scrollinfo; GetS原创 2013-12-05 11:18:25 · 8455 阅读 · 3 评论 -
修改MFC中菜单显示的文字
转:http://blog.csdn.net/li_canhui/article/details/6636101当需要在程序中动态修改菜单中显示的文字时,比如有的程序界面提供中英文显示切换的功能,可以通过以下方式进行。[cpp] view plaincopyprint?CMenu *cMenu = new CMenu();转载 2013-12-04 13:52:05 · 3006 阅读 · 1 评论 -
MessageBox 详解
转:http://wenku.baidu.com/link?url=KF2VTMVoJD3bQB1B-av63XK7h2xEAzHtB4bcx6YOd4vcv4lAvqyoYQxXDj5DD4xLpW_oCgR37TG__7enYKIh37fz0si6OpAD6wDTd85Psmy一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Capti转载 2013-12-10 14:19:54 · 1557 阅读 · 0 评论 -
mfc 利用CXTPChartControl画柱状图,响应柱状图单击事件
所用控件:Custom Control主要代码:CXTPChartControl m_wndChartControl;void CBarView::CreateChart(){BOOL bResult = UnzipAndShowAnswer(); //unzip and statistics the number of diff answersCXTPChart原创 2013-10-30 17:39:03 · 3132 阅读 · 1 评论 -
mfc 可编辑combox不可用时,背景变黑,通过修改属性解决
一 可编辑combox不可用时,背景变黑GetDlgItem(IDC_COMBO_TYPE)->EnableWindow(FALSE);二、解决办法:先修改CCombox属性,再设为不可用DWORD theStyle; HWND theChild; theChild = ::GetWindow( GetDlgItem(IDC_COMBO_NUM)->m_h原创 2013-10-24 13:06:45 · 3001 阅读 · 0 评论 -
MFC ListControl 点击列头排序
转:http://blog.sina.com.cn/s/blog_5dc7bbf8010115ak.html第一步:定义全局变量:int sort_column; // 记录点击的列bool method; // 记录比较方法第二步:添加比较函数1 // 比较函数2 staticint CALLBACK MyCompareProc(L转载 2013-10-18 14:00:12 · 2584 阅读 · 0 评论 -
mfc ListControl 重绘网格线
.h文件 //网格线设置 [yal 2013.10.08] int m_nGridStyle; //风格 PS_DASH,PS_SOLID,。。。 COLORREF m_GridColor; //颜色 int m_nGridWeigth; //粗度1,2,... void setGridStyle(int nSty原创 2013-10-08 16:22:04 · 5538 阅读 · 0 评论 -
mfc 控件重叠优先问题
我先将List控件隐藏 m_list.ShowWindow(SW_HIDE),需要时,动态创建static控件作为list控件背景,再显示list控件m_list.ShowWindow(SW_SHOW)此时,出现了一个问题,界面显示的两个控件,list控件会被static控件覆盖,鼠标单击后,才会显示到最顶端。解决办法,将两个控件list static增减属性WS_CLIPSIBLIN原创 2013-09-23 14:13:45 · 5335 阅读 · 0 评论 -
MFC 运行时隐藏对话框窗口(无闪烁)
转:http://blog.163.com/pirates_fish/blog/static/1833331502011102215626741/本人推荐三种:一、初始化BOOL CHideWndDlg::OnInitDialog(){ CDialog::OnInitDialog(); .... // TODO: Add extra initiali转载 2013-09-13 13:33:07 · 1485 阅读 · 0 评论 -
解决Edit扩展类显示图片初始化时,图片处于全选状态
怎么在编辑框Edit control中,随心所欲的插入图片呢?我使用了一个它的扩展类,下载地址:http://download.csdn.net/detail/leighton_52/6216413但是,出现了一个问题,就是在我的对话框初始化的时候,插入到该控件中的图片,总是处于被选中状态,很是难看。相关代码,如下:BOOL CTQquestionShowDlg::OnIn原创 2013-09-05 15:24:46 · 867 阅读 · 0 评论 -
error PRJ0019: A tool returned an error code from
转:http://hi.baidu.com/hwygy_001/item/0280cf0947e68515acdc703berror PRJ0019: A tool returned an error code from "Performing Post-Build Event..."程序执行过程中遇到了这个问题,通过下面方法解决,标记一下:Look at Projec转载 2014-01-03 11:18:42 · 3330 阅读 · 0 评论 -
C++遍历中删除std::map元素
转:http://blog.sina.com.cn/s/blog_69ebf25c0100l372.html在std::list中删除一个元素非常简单,直接使用erase方法即可,代码如下:for(iter = list.begin(); iter != list.end();) {if (shouldDelete(*iter))iter = list.erase(iter转载 2014-02-24 18:24:29 · 1540 阅读 · 0 评论 -
MFC树形控件(CTreeCtrl)用法
转:http://blog.csdn.net/bruce_zeng/article/details/8046098前面一节讲了树形控件Tree Control的简介、通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建、CTreeCtrl类的主要成员函数和应用实例。 树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形转载 2014-02-24 18:27:11 · 2471 阅读 · 0 评论 -
C++/C++11中std::stack的使用
栈stack 是一个容器适配器(container adaptor)类型,被特别设计用来运行于LIFO(Last-in First-out,后进先出)场景,在该场景中,只能从容器末尾添加和删除元素,其定义在stack头文件中。stack默认基于std::deque实现,也可以在std::list或std::vector之上实现。stack 通常被实现为容器适配器,即使用一个特定容器类的封装对象...转载 2019-08-22 11:04:30 · 2344 阅读 · 0 评论 -
C++ vector的reserve和resize详解
vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!原因如下: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/insert()函数。 resize...转载 2019-08-19 19:14:39 · 1608 阅读 · 0 评论 -
C++重载重写和多态区别
1.重载和重写的区别:重载overload:在同一个类中,函数名相同,参数列表不同,编译器会根据这些函数的不同参数列表,将同名的函数名称做修饰,从而生成一些不同名称的预处理函数,未体现多态。重写override:也叫覆盖,子类重新定义父类中有相同名称相同参数的虚函数,主要是在继承关系中出现的,被重写的函数必须是virtual的,重写函数的访问修饰符可以不同,尽管virtual是pri...转载 2019-08-08 16:43:49 · 606 阅读 · 0 评论 -
C/C++中string和vector的一些扩展
关于vector:转自 点击打开链接 向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量转载 2017-12-29 11:22:53 · 2613 阅读 · 0 评论 -
关于mfc 对powerpoint的操作,控制ppt播放
怎样实现mfc操作ppt文件的打开、播放、关闭等,网络上基本上有了详细的实现方式,比如如下博主们的简介:转:http://blog.sina.com.cn/s/blog_6163bdeb0100nn1p.html转:http://www.2cto.com/kf/201505/396898.html转:http://blog.sina.com.cn/s/blog_4e345ce70100原创 2015-11-17 17:41:40 · 4497 阅读 · 2 评论 -
怎样使用MFC 调用windows系统程序 windows media player
使用MFC 调用windows系统程序 windows media player原创 2015-10-28 11:31:22 · 2051 阅读 · 0 评论 -
MFC 窗口最前端显示
转:http://blog.sina.com.cn/s/blog_61b116b10100ejlz.html 最前端显示: 在MFC中的CMainFrame类的OnCreate函数中加入: ::SetWindowPos(this->m_hWnd,HWND_TOPMOST,10,10,10,10,SWP_NOMOVE|SWP_NOSIZE); 取消最转载 2014-03-19 13:18:28 · 3416 阅读 · 0 评论 -
Button扩展累CButtonST修改字体、背景色和背景图片
CButtonST m_btnTest;//修改字体颜色m_btnTest.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(255,255,255));m_btnTest.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(255,255,255));//修改背景色值m_btnTest.SetColor(原创 2014-03-17 18:13:19 · 3389 阅读 · 0 评论 -
半透明AlphaBlend 实现界面或某块资源的半透明
转:http://blog.csdn.net/lsmdiao0812/article/details/3324640?ADUIN=541540095&ADSESSION=1394756487&ADTAG=CLIENT.QQ.5281_.0&ADPUBNO=26292 1 AlphaBlend 函数功能:该函数用来显示透明或半透明像素的位图。 函数原型:Alp转载 2014-03-14 16:45:02 · 4596 阅读 · 0 评论 -
bzero, memset ,setmem 区别
转:http://hi.baidu.com/lovelyhuhu/item/2b202ac92838b52d47d5c051bzero 原型:extern void bzero(void *s, int n);用法:#include 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 并且使用strings.h头文件,strings转载 2014-03-11 15:37:24 · 3665 阅读 · 0 评论 -
关于UDP 中的组播问题
http://blog.csdn.net/c395565746c/article/details/6016646根据查询的资料来看,UDP广播只能在内网(同一网段)有效,而组播可以较好实现跨网段群发数据。简介 IP网络传输方式共分为单播,组播(多播),广播三种。平时我们最常用的一对一的网络传输方式就是属于单播;而组播是一对多的传输方式,其中有个组播组转载 2014-03-11 15:34:33 · 8036 阅读 · 1 评论 -
mfc 中静态控件static 的双击响应事件
在写mfc过程中,在对话框中,新添加了一个static控件,添加其双击消息的响应事件ON_STN_DBLCLKBEGIN_MESSAGE_MAP(CSpliteScreenGroup, CResizableFormView) ON_STN_DBLCLK(IDC_STIC_GROUPANSWER, &CSpliteScreenGroup::OnStnDblclickSticGroupansw原创 2014-02-24 19:36:31 · 3365 阅读 · 2 评论 -
mfc中如何实现窗体半透明 但是控件不透明
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); SetLayeredWindowAttributes(GetSysColor(COLOR_BTNFACE),100,1);转载 2013-08-30 17:35:28 · 2699 阅读 · 1 评论 -
两个窗口之间的通信,你能想到什么
我首先想到发消息,SendMessage也好,PostMessage也好。还有什么呢,直接加个B类变量作为A的成员变量,之后进行操作。还有一种方法,就是开个监听事件线程,以A实时响应B的操作为例:A.hprotected: HANDLE m_hListenCorrAnsThread; static DWORD WINAPI ListenCorrAnswersThread(L原创 2013-08-29 09:48:49 · 871 阅读 · 0 评论 -
关注C++细节——STL中map学习小结
转 http://blog.csdn.net/iaccepted/article/details/8554303map常用的方法主要有:insert,erease,size,count,begin,end,find,clear,emptyinsert方法: 在map中插入一个元素,map中记录的元素通常为键值对,所以,在存储时会把,键和值封装成pair然后转载 2013-08-23 09:36:08 · 731 阅读 · 0 评论 -
Static text控件透明色设置
一. Static text控件透明色设置HBRUSH CCAnalysisReport::OnCtlColor(CDC*pDC,CWnd*pWnd, UINTnCtlColor){ HBRUSH hbr = CFormView::OnCtlColor(pDC,pWnd, nCtlColor); // TODO: Change any原创 2013-08-22 15:24:32 · 1509 阅读 · 0 评论 -
enum{IDD=IDD_DIALOG_MAIN} undeclared identifier!
更改主对话框的ID名称会同时引起下列文件的修改: 1.resource.h中对话框名称的修改 .2.enum{IDD=IDD_DIALOG_MAIN}中对话框名称的修改 3.dsw工程文件中响应标识的修改。 然后在对话框的cpp文件中添加resource.h,build,OK! 1>KTLXFunction.obj : error LNK2019: unresolved转载 2013-08-22 15:23:50 · 1773 阅读 · 0 评论 -
结构体定义及初始化
转:http://see.xidian.edu.cn/cpp/biancheng/view/170.htmlC++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。因此C++允许用户根据需要自己声明一些类型,例如第5章介绍的数组就是用户自己声明的数据类型。此外,用户可转载 2013-08-22 15:19:37 · 1696 阅读 · 0 评论 -
mfc动态添加垂直滚动条
SetScrollSizes(MM_TEXT,CSize(0,0));例子:在.cpp文件中添加消息响应函数OnVCScrollvoid CAnalysisStatisticsView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){// TODO: Add your message handler cod原创 2013-08-22 17:01:14 · 2675 阅读 · 0 评论 -
字符串比较
if (0 == it->second.CompareNoCase("single"))比较字符串可以这么比较,防止那里写的时候有大写字母,这个是不区分大小写的比较int CompareNoCase(LPCTSTR lpsz ) const;这个函数使用lstrcmpi函数对一个CString和另一个CString进行比较。由参数lpsz指定这个用于比较的string。如果两个对象完全一致原创 2013-08-22 15:22:23 · 811 阅读 · 0 评论 -
retval =HeapFree(_crtheap, 0, pBlock);异常断点
retval =HeapFree(_crtheap, 0, pBlock);异常断点CString *sQuesNumber =new CString[nQuesNumber];使用后delete []sQuesNumber;sQuesNumber =NULL;而不是deletesQuesNumber; sQuesNumber = NULL;原创 2013-08-21 18:54:55 · 6390 阅读 · 0 评论 -
自定义Edit ctrl 控件不能相应回车消息
else if (CTRL_EDIT ==nCtrlType) { CEdit*p_Edit =new CEdit (); ASSERT_VALID(p_Edit); if( !p_Edit->Create(WS_CHILD|WS_VISIBLE |ES_LEFT|ES_WANT原创 2013-08-21 18:47:34 · 915 阅读 · 0 评论 -
加载对话框背景图片,代码如下,可是为什么对话框最大化之后,会有重叠?
加载对话框背景图片,代码如下,可是为什么对话框最大化之后,会有重叠,原来的图片还在,OnPaint函数并没有完全重绘?void CCAnalysisReport::ChangeSize(UINTnID, int x, int y,BOOL bTag){ CWnd *pWnd; pWnd=GetDlgItem(nID); /原创 2013-08-21 18:53:51 · 1221 阅读 · 0 评论 -
Cimage和Cbitmap之间的 互相转换
CImage转为CBitmap:CImage* img;CBitmap* bm;img->Load(lpszSourceName);HBITMAP hbmp =(HBITMAP)img->operator HBITMAP();bm->DeleteObject();bm->Attach(hbmp);/////////////////////////////////////转载 2013-08-21 18:45:28 · 11436 阅读 · 0 评论