
FrameWork
文章平均质量分 62
ToPDCA
Work hard for a better tomorrow, Play up !
展开
-
极力推荐 自学视频java、php、python、android!
自学java php pyhton android 最好的视频连接:http://pan.baidu.com/share/home?uk=2483301048搜索复制原创 2015-06-17 23:19:52 · 1528 阅读 · 1 评论 -
ListBox 的创建问题
需要拦截的消息是WM_CREATE(ON_WM_CREATE) int CMainWindow::OnCreate(LPCREATESTRUCT lpcreatestruct){ if( !m_pMineListBox ) { m_pMineListBox = newCListBox(); m_pMineListBox->Create(WS_CHILD| WS_VISI原创 2013-12-02 14:34:53 · 860 阅读 · 0 评论 -
CFrame窗体背景颜色
如何修改frame窗口的背景颜色? MDI窗口的客户区是由frame窗口拥有的另一个窗口覆盖的。为了改变frame窗口背景的颜色,只需要这个客户区的背景颜色就可以了。你必须自己处理WM_ERASEBKND消息。下面是工作步骤: 创建一个从CWnd类继承的类,就叫它CMDIClient吧;在CMDIFrameWnd中加入CMDIClient变量;(具体情况看下面的代码)#in原创 2013-12-02 14:34:50 · 2319 阅读 · 0 评论 -
MFC 消息拦截示例
DECLARE_MESSAGE_MAP()在类的声明中进行的声明消息映射的声明BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd) ON_WM_CREATE() ON_WM_CLOSE() //ON_COMMAND()END_MESSAGE_MAP()在类的实现中进行建立消息映射表void CMainWindow::OnClose(){ ::Dest原创 2013-12-02 14:34:44 · 2152 阅读 · 0 评论 -
MFC获得桌面的坐标完成在中间位置创建窗口
#if 0 RECT rect = {0}; ::GetWindowRect(::GetDesktopWindow(),&rect); rect.left = rect.right - rect.left; rect.left /= 2; rect.top = rect.bottom - rect.top; rect.top /= 2; if( rect.left > 200)原创 2013-12-02 14:34:41 · 1580 阅读 · 0 评论 -
warning C4627
原因:1、没有添加 #include "stdafx.h" 2、#include "stdafx.h" 必须添加到.cpp文件的第一行。不能将其他头文件比如#include放在它的前面。3、每个.cpp文件都必须有#include "stdafx.h"原创 2013-12-02 14:34:28 · 879 阅读 · 0 评论 -
MFC 窗口风格WS-Window—Styles
WS_BORDER 有边框窗口单窗口WS_CAPTION 必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用。指示窗口包含标题要部分。WS_CHILD 说明窗口为子窗口,不能应用于弹出式窗口风格(WS_POPUP)。WS_CHILDWINDOW 同WS_CHILD。WS_CLIPCHILDREN 绘制父窗口时,不绘制子窗口的裁剪区域。使用在建原创 2013-12-02 14:34:25 · 1009 阅读 · 0 评论 -
MFC中 窗口类位置结构体的使用CRET
在MFC中我们可以随意定义我们想创建的窗口的位置,使用的CRECT去确定窗口的位置:typedef struct tagRECT{ LONG left; LONG top; LONG right; LONG bottom;} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;CRECT rect ={l原创 2013-12-02 14:34:20 · 1929 阅读 · 0 评论 -
MFC CWinApp派生类中使用CFrameWnd派生类的成员函数Create来创建窗口
在MFC程序中出现的问题是:在CWinApp的派生类中,使用p_MainWnd指向使用new创建的CFrameWnd派生类的对象指针,然后使用该指针调用CFrameWnd的成员函数Create,但是结果并不是我所期望的结果--->指向的是CWinApp的成员函数Create函数--->代码: BOOL CTWinApp::InitInstance(){ //需要考虑到指针的生命周期 m_原创 2013-12-02 14:34:17 · 1414 阅读 · 0 评论 -
消息机制的建立 MFC
//头文件#include "StdAfx.h"#include "ATPC.h"#include "TWinApp.h"#include "MainWindow.h"#include "SetMineWnd.h"CMainWindow::CMainWindow(){ m_pMineListBox = NULL;}CMainWindow::~CMainWindow(void)原创 2013-12-02 14:34:55 · 621 阅读 · 0 评论 -
MFC 禁止主窗口的移动
需要拦截系统消息是ON_WM_SYSCOMMAND()重新进行重载函数:void CMainWindow::OnSysCommand(UINT nID, LPARAM lParam){ if (nID == SC_MOVE || nID==0xF012) return; else CFrameWnd::OnSysCommand(nID, lParam);}必须注意的是在进行递归调原创 2013-12-02 14:35:03 · 4267 阅读 · 0 评论 -
窗体拖动 mfc 未定义的消息 #define SC_DRAGMOVE (0xf012)
#define SC_DRAGMOVE (0xf012)不处理此ID就可以了原创 2013-12-02 14:35:37 · 1295 阅读 · 0 评论 -
MFC VS2010的颜色宏是
COLORREF 是结构体不是类原创 2013-12-02 14:35:34 · 1085 阅读 · 0 评论 -
指针静态和动态转化的时候注意的是否检查指针类型
dynamic_cast(m_pMainWnd)->MainWindowInit();//检查指针的类型静态不检查原创 2013-12-02 14:35:29 · 778 阅读 · 0 评论 -
enum 使用技巧MFC可以定义在类中、结构体中
class CTWndAttrs{public: CTWndAttrs(void); ~CTWndAttrs(void); enum EWndAttrIndex { E_WND_ATTR_INDEX_MAINWND =0, E_WND_ATTR_INDEX_LISTBOX, E_WND_ATTR_INDEX_MAXX =-1, };//在类的实现中使用就可以原创 2013-12-02 14:35:24 · 1739 阅读 · 0 评论 -
new 使用
m_pWndProperties = new TWINDOWPROPERTIES[count](分配空间的大小--可以是同一空间大小数组);//分配多个空间原创 2013-12-02 14:35:27 · 540 阅读 · 0 评论 -
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默
问题一:error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int原因分析:1. (此情况经常出现在大型工程项目中)如果存在两个类的头文件a.h和b.h,在a.h中有这样的语句:#include"b.h",在b.h文件中有这样的语句:#include "a.h"且在一个类中有另一个类的对象时,那么就会出现这样的错误。2. 没有包含要定义的类的头文件。原创 2013-12-02 14:35:21 · 27724 阅读 · 0 评论 -
error LNK2005: "enum TWindowAttr TWINDOWATTR" (?TWINDOWATTR@@
error LNK2005: "enum TWindowAttrTWINDOWATTR" (?TWINDOWATTR@@3W4TWindowAttr@”error LNK1169:找到一个或多个多重定义问题造成的原因是,结构体或者函数体的定义放在了头文件中,在头文件中定义的话,就会造成所以包含该头文件的源文件,进行再次的定义,所以会出现重复定义。原创 2013-12-02 14:35:19 · 1061 阅读 · 1 评论 -
MFC 窗体的样式
WS_BORDER Creates a window that has aborder. WS_BORDER创建一个窗口,有一个边框。WS_CAPTION Creates a window that has atitle bar (implies the WS_BORDER style).WS_CAPTION创建一个具有标题栏的窗口(隐含WS_BORDER风格)。Cannot be原创 2013-12-02 14:35:11 · 1186 阅读 · 0 评论 -
Windows viaC/C++:终止进程
结束进程进程可以以4种方式结束:主线程入口点函数(_tmain/_tWinMain)返回时结束,建议所有进程都以这种方式结束进程中的某线程调用了ExitThread函数,应当避免这种情况另一进程中的某线程调用了TerminateProcess函数,应当避免这种情况进程中的所有线程中止,这种情况比较罕见下面我们来分别讨论这4种情形。 主线程入口点函数返回在设计应用程序时,你应原创 2013-12-02 14:34:14 · 1437 阅读 · 0 评论 -
MFC 类对象和类指针的区别
如下程序:#include#includeusing namespace std;class Student{ public: static int number; string name;public: Student() { } void set(string str) { name = str;原创 2013-12-02 14:41:03 · 1486 阅读 · 0 评论 -
MFC 进程和新进程主窗口特性问题
PROCESS_INFORMATION 结构 在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。其结构定义如下。 typedef struct_PROCESS_INFORMATION{ HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; }PROCESS原创 2013-12-02 14:37:26 · 947 阅读 · 0 评论 -
MFC 操作注册表的问题
//在Win.ini初始化文件指定小节内设置一个字串。API手册:http://www.vbgood.com/api.html 在Win.ini初始化文件指定小节内设置一个字串。<//msdn2.microsoft.com/mtps:codesnippetlanguage=C++ xmlns="http://msdn2.microsoft.com/mtps"displaylanguag原创 2013-12-02 14:37:23 · 846 阅读 · 0 评论 -
MFC 启动外部进程的问题
四种方法: (1)HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);(2)WINSHELLAPI BOOL WINAP原创 2013-12-02 14:37:18 · 750 阅读 · 0 评论 -
MFC VS2010提示试用期已过的问题
使用下面的激活码进行产品激活就可以了:Microsoft Visual Studio 2010(VS2010)正式版 CDKEY / SN:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP企业版、旗舰版都适用原创 2013-12-02 14:37:15 · 1793 阅读 · 0 评论 -
MFC 不允许第二次创建类的实例对象的问题
在程序里面有时我们只需要一个全局的类对象就可以,而且还不想在成序的其他地方出现该类的实例对象,那么我们可以在构造函数里面设置标记变量来是进行标记,然后进行判断在第二次调用构造函数的时候,直接进入ASSERT(NULL)让程序崩溃。其中标记变量一般是BOOL型的所以变量名的开始是b开头原创 2013-12-02 14:37:12 · 872 阅读 · 0 评论 -
MFC 虚函数函数重载问题
函数重载的条件:两个重载函数必须在下列一个或两个方面有所区别:1.、函数有不同参数。2、函数有不同参数类型,C++的这种编程机制给编程者极大的方便,不需要为功能相似、参数不同的函数选用不同的函数名,也增强了程序的可读性。 #include class A{ public: virtual void fun(){std::cout<< "this is A"};cl原创 2013-12-02 14:39:09 · 1289 阅读 · 0 评论 -
MFC C++类中的静态成员变量和静态成员函数的作用
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过原创 2013-12-02 14:39:39 · 3722 阅读 · 0 评论 -
MFC C++标准库简介
1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然原创 2013-12-02 14:39:26 · 1421 阅读 · 0 评论 -
MFC 注册表启动程序问题
//获得程序安装的路径,注册表BOOL COpenBurnIntestDlg::GetBurnInTestInstallPath(CString&path){#define INSTALL_PATH_SIZE (256) CStringkeyPath(_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\BurnInT原创 2013-12-02 14:37:29 · 883 阅读 · 0 评论 -
MFC 原以为很神奇的提示窗体…
MessageBox(NULL,"text","title",BUTTON); 所属头文件:windows.h 参数title:string类型,指定消息对话框的标题。text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值。icon:Icon枚举类型,可选项,指定要在该对话框左侧显示的图标。button:Button枚举类型,可选项,指定显示在该对话原创 2013-12-02 14:37:41 · 1299 阅读 · 0 评论 -
MFC 通过发送消息完成按钮操作模拟鼠标单击事件的发生的问题
有时我们需要这么做, 手动模拟按钮按下的事件, 让程序做出与按钮真的按下时一样的响应. 设按钮ID为ID_BTN_OK,当前Dialog窗口. 实际上系统并不能区分按钮是真的按下了(如用鼠标点击), 还是一个我们自己用代码模拟出的一种"假象".它所需要知道的只是哪个窗口(按钮也是一种窗口)发生了哪一种事件, 然后在消息循环中处理它. 系统怎么才能知道这些呢? 当然靠的是消息(me原创 2013-12-02 14:38:42 · 5942 阅读 · 0 评论 -
MFC 获得窗口句柄问题大全
MFC中获取常见类句柄 本节为VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的方法: GETApp AfxGetInstanceHandle() AfxGetApp() GETFrame->View->Document SDI AfxGetMainWnd() ->GetActiveView() ->GetDocument原创 2013-12-02 14:38:10 · 1552 阅读 · 0 评论 -
MFC LISTBOX定位到最后一行问题
int count = 0;count = m_List.GetCount ();m_List.SetCurSel (count - 1);原创 2013-12-02 14:38:04 · 2928 阅读 · 0 评论 -
MFC 控件ComboBox问题
ComboBox控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本.它的用法如下:从工具栏中拖一个Combo Box控件.右击添加变量,变量名为cbBox.1.为控件添加选项,指定默认选项cbBox.AddString(_T("one"));cbBox.AddString(_T("two"));cbBox.AddS原创 2013-12-02 14:38:02 · 1062 阅读 · 0 评论 -
MFC 关闭另一个指定的进程问题
方法有好几种:最简单的就是获得窗口的句柄之后,那么可以使用向该窗体发送WM_CLOSE消息的进行进程的关闭。 下面是几种比较强制杀死的方法: 结束进程的函数为BOOL TerminateProcess( HANDLE hProcess, UINT uExitCode);这个函数要求一个进程的handle。而进程的handle可以用进程的ID通过下面的函数来得到。原创 2013-12-02 14:38:07 · 3288 阅读 · 0 评论 -
MFC TRIM函数字符串的修剪问题
BOOLCMainWindow::DynamicShowLog(CString strLogDebug){ if( 0 == strLogDebug.GetLength()) { return false; } else { strLogDebug.Trim(_T("\r\n"));//去除回车换行显示在LISTBOX控件中 m_listbox.AddString(s原创 2013-12-02 14:37:59 · 2536 阅读 · 0 评论 -
MFC 窗口按钮的鼠标事件(对于中文和英文按钮的处理)问题
对于英文的!!!: ClickButton( WINDOW_TITLE_REGISTRATION,_T("Continue") );对于中文的按钮!!!: ClickButton( WINDOW_TITLE_REGISTRATION,_T("确定 or 取消") ) BOOL CWndHandleThread::ClickButton(CString windowTitle, CSt原创 2013-12-02 14:37:54 · 875 阅读 · 0 评论 -
MFC 静态变量的问题以及LISTBOX在别的类中写入LISTBOX的问题
由于一些时候我们需要在其类中使用本类中的变量,那么就需要在一般的时候设置为静态,然后使用静态的函数进行本类中的静态变量的访问! static BOOLDynamicShowLog(CStringstrLogDebug);//动态的显示log,只有静态的才能在别的类中进行使用 private: //截取系统消息完成自己的操作 void GetW原创 2013-12-02 14:37:51 · 848 阅读 · 0 评论 -
mfc 在窗体程序里面输出字符串既是:在窗口程序里面想输出在调试的时候会出现什么样的问
在MFC中进行创建窗体的程序里面进行输出输出字符串使用的是OutputDebugString(_T("11111111111111111\r\n"));使用_tprinf(_T("111111111111111\r\n"));不可以输出到输出台和即时输出原创 2013-12-02 14:35:40 · 1420 阅读 · 0 评论