摘要: 1.返回当前程序文件全文件名char pBuf[MAX_PATH];//存放路径的变量GetCurrentDirectory(MAX_PATH,pBuf);//获取程序的当前目录strcat(pBuf,"\\");strcat(pBuf,AfxGetApp()->m_pszExeName);strcat(pBuf,".exe");//获取程序全文件名CString filename;filename = pBuf;//char*转换为CString如此简单AfxMessageBox(filename);2.方法2:char path[MAX_PAT 阅读全文
posted @ 2013-05-20 14:59 涵野 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 改变Edit字体颜色:1、CMyDlg类中添加成员变量:CBrush m_Brush;2、OnInitDialog中初进行设置:m_brush.CreateSolidBrush(RGB(0,255,255));3、添加消息响应函数:OnCtlColorif(nCtlColor == CTLCOLOR_EDIT){ if(pWnd->GetDlgCtrlID()== IDC_EDIT1) { pDC->SetTextColor(RGB(255,255,0)); //文字颜色 pDC->SetBkColor(RGB(251, 247, 200)); pDC->SetBkMo 阅读全文
posted @ 2013-05-20 14:54 涵野 阅读(3095) 评论(0) 推荐(0) 编辑
摘要: 1、建立基于对话框工程:My2、添加控件:静态文本控件:IDC_STATIC1编辑框控件:建立一关联变量CEdit m_EditControl3、在OnInitDialog中添加如下代码:CFont * m_pFont; m_pFont = new CFont; m_pFont->CreateFont(16, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight TRUE, // bItalic FALSE, // bUnderline 0, // cStrikeOut ANSI_ 阅读全文
posted @ 2013-05-20 14:53 涵野 阅读(8349) 评论(0) 推荐(1) 编辑
摘要: 绘制任意线条:1、创建基于单文档工程:DrawCDrawView类中添加成员变量:CPoint m_ptOrigin;BOOL m_bDraw;2、CDrawView()中初始化:m_ptOrigin = point;m_bDraw = false;3、添加消息响应函数:WM_LBUTTONDOWN WM_LBUTTONUP WM_MOUSEMOVE4、左键按下时:m_ptOrigin = point;m_bDraw = true;5、左键抬起:m_bDraw = false;6、鼠标移动时: //画连续线条CClientDC dc(this);if(m_bDraw) { dc.MoveTo( 阅读全文
posted @ 2013-05-20 14:52 涵野 阅读(17042) 评论(0) 推荐(0) 编辑
摘要: CDC,CPaintDC,CClientDC,CWindowDC在使用任何绘图函数之前必须建立一个设备环境对象。CDC是Windows绘图设备的基类CDC的使用:OnDraw(CDC* pDC),因此OnDraw中可以直接使用CDC类编写代码。其他函数中要使用CDC类,需使用GetDC函数和ReleaseDC函数,实现申请CDC类得指针和释放CDC类的指针。CPaintDC使用示例:在视图类中使用CPaintDC进行窗口的重绘当用户区内容需要被刷新时,系统向应用程序消息队列发WM_PAINT消息,调用OnPaint函数进行处理。如果视图类中没有OnPaint函数,窗口重绘时调用MFC底层代码里 阅读全文
posted @ 2013-05-20 14:51 涵野 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 1、创建基于单文档工程:KeyInput2、在CKeyInputView中添加成员函数:public:bool m_bShiftDown;CPoint m_ptCharacter;3、CKeyInputView()中初始化:m_bShiftDown = ture;m_ptCharacter.x = 0;m_ptCharacter.y = 0;4、CKeyInputView()中添加消息响应函数:WM_KEYDOWN 、 WM_CHAR 、WM_SETFOCUS5、OnKeyDown中:if(nChar == VK_SHIFT){ m_bShiftDown = m_bShiftDown ? fa 阅读全文
posted @ 2013-05-20 14:50 涵野 阅读(308) 评论(0) 推荐(0) 编辑
摘要: CStringArray用法:列表框:m_list单选按钮:m_radio int(指其中一个属性设置为:组)文本框:m_pos int 、m_str CString按钮:OnCheck()1、创建基于对话框的工程StringArray.2、在CStringArrayDlg构造函数中添加:public:CStringArray m_array;3、按钮单击事件:OnCheck代码void CStringArray1Dlg::OnCheck(){ UpdateData(true); switch(m_radio) { int i; case 0: if(m_pos < 0 || m_pos 阅读全文
posted @ 2013-05-20 14:49 涵野 阅读(966) 评论(0) 推荐(0) 编辑
摘要: GDI:Graphics Device Interface,图形设备接口,是Windows操作系统提供的一组函数。DC:Device Context,设备上下文,常称为画布。应用程序中每个窗口都关联一个设备上下文,所有绘制操作都在设备上下文上完成。GetDC方法用于获得设备上下文,返回一CDC类型指针。CDC是封装Windows设备上下文的类,该类提供各种绘制方法。CDC:设备环境类,CDC作为基类包含绘图所需所有成员函数,派生类中只有构造函数和析构函数的差别(CMetaFileDC除外)。显示器常用派生类:CClientDC/CWindowDC。对于其他设备则可以构造一CDC基类。通常窗口客 阅读全文
posted @ 2013-05-20 14:47 涵野 阅读(389) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/afterruins/archive/2008/09/14/2839062.aspx逻辑坐标和设备坐标:设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。逻辑坐标(Logical Coordinate)是系统用作记录的坐标。在缺省的模式(MM_TEXT)下,逻辑坐标的方向和单位与设备坐标的方向和单位相同,也是以像素为单位来表示 阅读全文
posted @ 2013-05-20 14:46 涵野 阅读(947) 评论(0) 推荐(0) 编辑
摘要: C*View <- Cview <- CWnd <- CobjectC*View 两个最重要的基类:CView和CWnd,CWnd提供了C*View的”窗口属性”,CView则提供了它和应用程序框架其他部分间的联系。在视窗内绘图:OnDraw成员函数:是CView类中的虚成员函数,每次视窗被重新绘制时,应用程序都将调用OnDraw。如果用户改变了窗口尺寸,或窗口需要恢复被遮盖部分,则应用程序会直接调用OnDraw;如果程序中某个程序修改了数据,则必须通过调用视图所继承的Invalidate(或者InvalidateRect)成员函数来通知Windows。调用Invalidat 阅读全文
posted @ 2013-05-20 14:45 涵野 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 1、先建立一个Win32 Application的应用程序。 2、选择Project->Add to project->Files,分别创建一个名为MyApp.h和一个名为MyApp.cpp的文件。3、添加代码://MyApp.h:class CMyApp : public CWinApp{public: virtual BOOL InitInstance();};class CMyFrame : public CFrameWnd{public: CMyFrame();protected: afx_msg void OnLButtonDown(UINT nFlags, CPoint 阅读全文
posted @ 2013-05-20 14:44 涵野 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 第一天: WINDOWS应用程序一定要有WinMain函数,该函数用来完成一些特殊的任务,象创建程序的主窗口,主窗口用来处理消息的代码。MFC将WinMain隐藏在框架中,不象写SDK程序时可以很容易的找到它。WINDOWS采用的消息处理机制也交给了程序框架,我们不必担心如何使这些消息和代码联系起来。并且WINDOWS定义好了一些消息,当窗口被创建时系统就会发送WM_CREATE消息,当点击鼠标左键时便系统会发送WM_LBUTTONDOWN消息,当用户按下键盘时系统会发送WM_CHAR消息,当用户关闭窗口时系统会发送WM_CLOSE消息,当用户进行菜单项选择或单击按钮时系统会发送WM_COMM 阅读全文
posted @ 2013-05-20 14:43 涵野 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: 1: //文件名: array01.cpp 2: #include<iostream> 3: using namespace std; 4: int main() 5: { 6: int len; 7: cin>>len; 8: //用指针p指向new动态分配的长度为len*sizeof(int)的内存空间 9: int *p=new int[len]; 10: ........... 11: delete[] p; 阅读全文
posted @ 2013-05-20 14:41 涵野 阅读(85552) 评论(0) 推荐(4) 编辑