自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 字符串数组

字符串的输入须提前分配内存#include #include #include  这三个都可以char *p;p=(char*)malloc(512);scanf("%s",p);字符串数组就是二维字符数组  char[4][6];        //4是字符串个数char ca[3][5]={"A","BB","CCC"};也可写成 char

2015-04-29 07:02:46 555

原创 二维数组

a[3][3]={{1,2,3},{4},{5,6,7}};a[][3]={1,2,3,4,5,6,7,8,9};二维数组的地址的五种表示方式  a[5][4]一          &a[i][j]二          a[i]+j三          *(a+i)+j四          &a[0][0]+4*i+j五           a[0]+4

2015-04-29 06:49:00 277

原创 变量的地址和指针

指向指针的指针      int **p,*s;        p=&s;(*p)++;//p的指向++*p++;//指向后 再右移当指向连续的一段地址时,指针的移动才有意义

2015-04-29 06:40:12 363

原创 转义字符

\n 回车\后的八进制可以不用0开头

2015-04-29 06:36:49 309

原创 scanf的格式

scanf("%d %d %d",&a,&b,&c);//分隔符可以是空格 回车 TAB//中间是逗号则分隔符是逗号scanf("%1d %2d %3d",&a,&b,&c);       1 23 456%*d路过一次输入fflush(stdin);//清空输入流

2015-04-29 06:23:43 620

原创 C语言的数制

八进制数零开头  不能是负数 也不能是小数十六进制数零x开头%c 一个字符%d 一个十进制%0 八进制%X 大写X 十六进制%u 无符号十进制%f 小数%e 指数%s 字符串%% 一个百分号%lf 双精度

2015-04-28 20:15:35 353

原创 MFC 可不可以用CTime 代替 COleDataTIme?

COleDataTIme精度更高,表达的年份更多。CTime使用的是一个32位整数time_t记录的时间,可表达1970~2038年之间的精确到秒的信息。在64位版本的VS之后,可以表达3000年,但精度还是秒。COleDataTIme使用结构体记录时间,冗余多,精度高。在不需要高精度和更多年份的情况下,可以使用CTime,这个用起来更方便,运算效率更高。追问:20

2015-04-28 18:29:41 426

原创 MFC Navigate2是做什么的

对于MFC的类,源码在C:\Program Files\Microsoft Visual Studio\VC98\MFC\路径下,你要查看的OnBeforNavigate2是CHtmlView的一个虚函数,它的定义在AFXHTML.H,和VIEWHTML.CPP中,你在上面的路径下搜索这两个文件就可以了。void CHtmlView::BeforeNavigate2(LPDISPATCH 

2015-04-28 18:14:25 1722

原创 MFC中 CCmdUI类是干什么用的?

CCmdUI。它仅在一个CCmdTarget派生类的ON_UPDATE_COMMAND_UI处理程序中使用。当用户在应用的下拉菜单时,要确定每个菜单项的显示状态——允许存取或禁止存取。菜单命令的目标通过实现一个ON_UPDATE_COMMAND_UI处理来提供这些信息。可以使用ClassWizard来浏览定位应用中的命令用户接口对象,然后为它建立一个消息映射入口,并为每个消息处理函数提供函

2015-04-28 17:55:53 1026

原创 字符型指针为什么不能修改单个字符?

char *p="hello";*p='k'; //编译能通过,但是运行到这里会出错因为p指向的是一个字符串常量. 所以运行时发现要改常量区就会报错.改成:char* p = (char*)malloc(6);strcpy(p,"hello");*p='k';....free(p);

2015-04-28 17:48:52 647

原创 MFC OnCmdMsg函数是干什么用的?

BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo){ CWnd* pWnd=this->GetFocus();if(pWnd && pWnd!=this && pWnd->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)

2015-04-28 17:45:57 2209

原创 MFC GetChildItem(NULL)什么意思

void CLeftView::OnInitialUpdate(){ CTreeView::OnInitialUpdate(); if(this->m_Tree.GetChildItem(NULL)) return; //这句是用来做什么的?...}//m_Tree就是this->GetTreeCtrl()这句话翻译过来,就是:如果获取第一个

2015-04-28 17:43:20 978

原创 MFC ON_NOTIFY_EX消息是干什么用的?

BEGIN_MESSAGE_MAP(CtpDlg, CDialogEx) ON_NOTIFY_EX(TTN_NEEDTEXT,0,SetTipText) //这一条是干什么的 (SetTipText是一个自定义成员函数)END_MESSAGE_MAP()ON_NOTIFY_EX用来处理控件通知消息WM_NOTIFY 的宏。 形式是:ON_NOTIFY_EX(n

2015-04-28 07:08:25 2183

原创 MFC中, WM_MEASUREITEM 和WM_DRAWITEM 分别是干什么的?

一般用于列表控件、组合框或树形控件,在控件的每个记录被重绘时调用的消息,第一个是用于响应重绘时单一记录的尺寸调整,第二个用于每个单一记录区域内的绘制。

2015-04-28 07:03:17 666

原创 变量的生命周期

void CMYDlg::OnBnClickedButton1(){ int x=123;int *y=new int;int *z=new int;y=&x;*z=x;m_dwordA=(DWORD)&x;m_dwordB=(DWORD)y;m_dwordC=(DWORD)z; //m_dwordA B C都是类的成员变量}m_dword A B C哪个成员变量能成功

2015-04-28 06:58:16 612

原创 MFC 结构体SData 转化为DWORD 是什么意思

struct SData { //存储下拉列表的图标和文字信息 UINT nImage; CString szText; };//CComboBox自定义派生类中一个成员函数内DWORD x=(DWORD)pData; this->SetItemData(i,x);DWORD_PTR就是DWORD,DWORD就是LONG,或ULONG。你可以这样:student

2015-04-28 06:56:29 670

转载 assert在release版本中仍可生效

ssert在程序的release版本中仍然有效(不要与VC中的ASSERT混淆),要使assert失效,只有在包含assert头文件(assert.h)的语句前定义NDEBUG宏或在编译器参数中添加-DNDEBUG参数。********************************************************相关文章转载************************

2015-04-28 06:52:15 1176

原创 MFC CComboBox 的Owner Draw属性

当中的Fixed和Variable有什么区别Fixed:创建一个自制组合框,其中的项目具有相同的高度;Variable:创建一个自制组合框,其中的项目高度不同

2015-04-28 06:51:09 1418

原创 MFC ComboBox怎么设置默认项

这是在类的OnInitDlg()中this->m_Combo.AddString("A"); this->m_Combo.AddString("B"); this->m_Combo.AddString("O"); this->m_Combo.AddString("AB"); this->m_Combo.AddString("其他");那么问题来了 现在程序运行时能进行血型选择但是默认

2015-04-27 20:55:37 21824 1

原创 MFC 控件richedit

用SetSel时 如果 m_Rrich.SetSel(10,-1);这里的-1是什么意思?CRichEditCtrl::SetSel设置此 CRichEditCtrl 对象中选择。void SetSel( long nStartChar, long nEndChar );void SetSel( CHARRANGE& cr );参数nStartChar

2015-04-27 20:53:57 408

原创 MFC 为按键设置图片怎么不行

在.h中public: CBitmap m_bitmap;在dlg的initiate里CButton *p2=(CButton*)this->GetDlgItem(IDC_BUTTON2); this->m_bitmap.LoadBitmapA(IDB_BITMAP2); p2->SetBitmap(this->m_bitmap);运行效果是这个大按键完全看不见 ( 按键属性O

2015-04-27 20:50:58 588

原创 C++ delete的问题

char *p=new char[20];delete []p; //这句话写成 delete p; 行不行?为什么?当然不行,如果写成那样,20个的char的空间只有第一个被释放

2015-04-27 20:48:29 349

原创 MFC 设置颜色SetDialogBkColor为什么不好使?

void MYDlg::OnBnClickedButton1(){ ::theApp.SetColor(); this->Invalidate(); } 为什么运行时按了按钮后没反应呢???我的期待是背景色变黑色啊用CDiaologEx类的自带函数即可

2015-04-27 20:45:52 926

原创 MFC 简单的对话框小程序在虚拟机中运行失败

重新安装了SP3的XP 成功了,谢谢之前是SP0的XP

2015-04-26 20:34:47 459

原创 MFC CComboBox 选择项是空的

高度没设置好

2015-04-26 20:29:19 946

原创 MFC invalidate FALSE和TRUE的区别

这个函数的说明中,说的很明确:void Invalidate( BOOL bErase = TRUE );参数: bErase 决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND也就是,在默认情况下(TRUE),先发送背景刷新消息,再刷新前景。而FALSE只刷新前景,也就是只触发OnPaint函数。一般来说,这个参数没有太大意义,只有在极个别的透明、优化技巧中才会使用,

2015-04-26 20:27:37 622

原创 vector.capacity()

vector是系统内部管理其长度的。其默认规则是,先申请一片内存,当需要增加元素时,如果元素个数超过已有内存可存放的个数时,再申请一批内存。这里很明显就有了两个长度,一个是元素个数,一个是可以存放元素的个数。其中第一个就是size,第二个就是你问的capaity。在vector初始化的时候是可以给长度的,这个时候就可以将长度设置为20。提问者评价初始化给长度后要接一个clea

2015-04-26 20:26:25 764

原创 FromHandle与Attach。

通过HDC句柄创建CDC类,有两个方法,一个是FromHandle,一个是Attach。FromHandle用于创建一个临时对象(类),没有独占性,MSDN上的说法是“临时的瞬态对象,不应在外部存储使用”,这种方法消耗小,通常用于临时绘制并且不改变DC属性的情况下。Attach是一个独占的强制方法,创建一个长期使用的对象,通过Map的SetPermanent函数,完成了对象和句柄的捆绑,在释放

2015-04-26 20:17:11 1030

原创 MFC中 dc.DrawText()与dc.TextOut()从功能上讲有什么区别?

这根本是两个函数,dc.TextOut(x,y,str)调用的是MFC中CClientDC类的成员函数TextOut,而TextOut(dc,x,y,length)是WIN32的API函数,其中的dc也不是CClientDC而是hdc即指向设备上下文的句柄。就是说前面那个是 类的成员函数,后面那个是 全局函数。

2015-04-26 07:15:26 2847

原创 MFC 列表控件CListCtrl如何自动显示到最后一屏?

// Ensure that the last item is visible.int nCount = m_myListCtrl.GetItemCount();if (nCount > 0)   m_myListCtrl.EnsureVisible(nCount-1, FALSE);

2015-04-26 07:06:59 1865

原创 MFC 如何将自定义按钮,添加到对话框的成员变量中?

我新建了一个类CIconButton, //public CButton但是,当我用class wizard向对话框类中添加成员变量时,双击列表中的IDC_BUTTON1,control项里只有CButton供选择,没有CIconButton供选择应该怎么操作?//按钮的OwnerDraw属性已设置为true手动在对话框头文件中,将控件关联变量的类型,从C

2015-04-26 07:05:57 1086

原创 MFC 按钮为什么设置不上ICON

p->SetIcon(hIcon);即可//CButton* p

2015-04-22 20:43:38 825

原创 MFC 中ComboBox的 Data属性设置多行选项

用英文分号;隔开

2015-04-22 20:41:44 2806

原创 当dota2过4100分的时候

当dota2过4100分的时候,一切都变得艰难起来.尤其对于我这种经常在游戏中思考人生的家伙.在4100分以前,如果在一局中你不犯任何错,结果是很可能赢在4100分之后,仅仅不犯错是远远不够的你需要积极与队友沟通,指挥,协调你需要表现的优秀表现的优秀只能保证平手想要上分,就要表现的卓越有句话说,无兄弟,不DOTA.也许这就是我难以进步的原

2015-04-20 20:32:16 515

原创 MFC控件移动

CRect rect;GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect);ScreenToClient(&rect);    //关键在这行,坐标转换为客户端坐标位置rect.OffsetRect(5,0);GetDlgItem(IDC_BUTTON1)->MoveWindow(&rect);//MoveWindow也

2015-04-20 20:10:17 809

原创 MFC点选的对话框怎么不前端显示?

A和B是两个对话框类我在A成员函数里非模态打开Bvoid A::OnBnClickedButton1(){B *pdlg=new B; pdlg->Create(IDD_B,NULL); pdlg->ShowWindow (SW_SHOW); pdlg->SetWindowTextW(_T("这是非模态方式打开"));}为什么回头点选A时,A仍然被B挡住?pdlg->Crea

2015-04-20 20:00:13 455

原创 函数形参为什么要const+引用

引用的目的是修改,const的目的是不许修改,形参用const &不是自相矛盾么?引用的目的是作为形参的别名,用引用来传递参数不会有副本存在,const的目的是常量,不希望改变形参的别名帮你总结一下:为了避免调用拷贝构造函数

2015-04-20 19:25:25 1019

原创 对字符指针使用 scanf,运行时出错是为什么.(对字符数组使用scanf运行不出错)

#include "stdafx.h"#includeint _tmain(int argc, _TCHAR* argv[]){     char *pstr="nice to meet you!";         scanf("%s",pstr);         getch();     return

2015-04-20 19:20:37 753

原创 VS2010新建工程编译就出错了

Error 1 error LNK1123: failure during conversion to COFF: file invalid or corrupt 提示说明在转换到COFF文件因为错误失败了(VS2010装好了,一般是不会有[file invalid] 错的)。而完成转换工作的是cvtres.exe这个程序。出现上面错误的根本原因是系统中存在有多个版本的 cvtres.e

2015-04-20 19:14:48 511

原创 matlab中sin(pi)不等于0怎么办

|sin(pi)|<epsilon判断它是否小于一个给定的很小的数

2015-04-20 19:08:59 5905

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除