Dr.Wing

心翼的技术笔记本

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年8月21日

摘要: //---------------窗体创建之前,修改其窗体类型等,不涉及图标,光标等---------------1、窗口创建之前修改窗体的外观:可以在MainFrm类的PreCreateWindow成员函数中进行。PreCreateWindow函数是一个虚函数,在MFC的底层代码里,由继承性,会调用子类对象的PreCreateWindow函数。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 由这个函数可见,修改的时候依靠该函数的参数CREATESTRUCT结构体来修改,这个结构体就是修改窗体各种外观的,且其同CreateWindo 阅读全文
posted @ 2011-08-21 18:12 心翼 阅读(328) 评论(0) 推荐(0) 编辑

2011年8月12日

摘要: 1. 给这个按钮添加Control成员变量,如m_btnQuit这时调用m_btnQuit.EnableWindow(FALSE);//禁用按钮或者调用m_btnQuit.EnableWindow(TRUE);//启用按钮2. 如果没有添加成员变量,假设此按钮在一个对话框中 这时调用((CButton*)GetDlgItem(按钮ID))->EnableWindow(FALSE) //禁用按钮或者((CButton*)GetDlgItem(按钮ID))->EnableWindow(TRUE); //启用按钮 阅读全文
posted @ 2011-08-12 02:45 心翼 阅读(13859) 评论(0) 推荐(0) 编辑

2011年8月4日

摘要: 1、对于同一个类,可以定义多个这个类的对象;然后再定义一个该类的指针,这样,这些对象都可以调用这个指针,实现首地址互换的操作。一个类定义了两个对象:CNewBtn m_btn1;CNewBtn m_btn2;然后定义一个指针变量:public: CNewBtn* m_pBtn;然后在构造函数中互换首地址:m_btn1.m_pBtn=&m_btn2;m_btn2.m_pBtn=&m_btn1;然后在这个类中,写上响应的函数如下,本例实现的是一个“逃跑按钮的功能”:void CNewBtn::OnMouseMove(UINT nFlags, CPoint point){ // TO 阅读全文
posted @ 2011-08-04 18:07 心翼 阅读(686) 评论(0) 推荐(1) 编辑

摘要: 1、模态对话框的对象可以是一个局部对象;其创建主要是一个DoModal()即可解决2、非模态对话框的创建较为特殊①、首先需要该对话框的对象是一个全局变量,否则会在函数执行完成之后被析构,导致对话框无法显示{也可以定义为指针变量,在堆上给这个对象分配内存;然后重载虚函数PostNCDestory()中加入delete this来析构,因为有一个局部函数析构以后,指针无法指向的问题,这种方法较为麻烦}②、需要ShowWindow(SW_SHOW)出来//-----------------------------------------分割线----------------------------- 阅读全文
posted @ 2011-08-04 17:08 心翼 阅读(254) 评论(0) 推荐(0) 编辑

2011年8月3日

摘要: AfxMessageBox(("click"));错误error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types解决方法:AfxMessageBox(_T("click"));解释:如果程序中define _UNICODE,则可用_T or _TEXT将后面的内容转为UNICODE格式字符串,否则和不用_T一样或者就修改项目属性里面的字符编码 阅读全文
posted @ 2011-08-03 09:50 心翼 阅读(4500) 评论(0) 推荐(0) 编辑

2011年8月2日

摘要: 1、弹出式菜单,就叫PopUP Menu2、菜单命令的路由是:View->Doc->MainFrm->App//-------------------------------------华丽的分割线--------------------------------------------------//3、GetMenu()获取菜单栏指针,一般括号中无参数4、GetSubMenu()获取菜单列的指针一般过程: 菜单栏指针(GetMenu())---->菜单列指针(GetSubMenu())---->单独向操作5、EnableMenuItem()函数可以作为调整菜单项 阅读全文
posted @ 2011-08-02 23:15 心翼 阅读(550) 评论(0) 推荐(1) 编辑

2011年8月1日

摘要: 绘图效果是在黑色的背景上,绘制一个白色的矩形,要注意的问题如下,先看第一个程序: 1 #define GLUT_DISABLE_ATEXIT_HACK 2 #include <gl/glut.h> 3 4 void display(void) 5 { 6 glClear(GL_COLOR_BUFFER_BIT); 7 glRectf(-0.5f,-0.5f,0.5f,0.5f); 8 glutSwapBuffers(); 9 //glFlush();10 }11 12 int main()13 {14 glutInitDisplayMode(GLUT_RGB | GLUT_DOUB 阅读全文
posted @ 2011-08-01 16:51 心翼 阅读(176) 评论(0) 推荐(0) 编辑

2011年7月29日

摘要: 这个错误即是当我们用CString str;str.Format(....)的时候出现的,这个还是一个编码问题...属性-->设置...你懂的http://www.cnblogs.com/52yixin/articles/2094653.html 阅读全文
posted @ 2011-07-29 01:06 心翼 阅读(1434) 评论(0) 推荐(1) 编辑

摘要: 1、VC6中,说可以把函数在头文件中定义为:afx_msg void OnProgress()这样 但是在VS2005及以上,要求很严格,必须函数返回值为LRESULT类型,所以在VS2005及以上,需要修改为LRESULT afx_msg OnProgress(WPARAM, LPARAM);其中,后面两个参数不管用不用得上,都要写。2、添加消息映射没差别3、自己写的函数原型如下:LRESULT CMainFrame::OnProgress(WPARAM wParam,LPARAM lParam) { return TRUE; //注意要返回一个TRUE! }OK Rebuild,通过~ 阅读全文
posted @ 2011-07-29 01:04 心翼 阅读(11729) 评论(0) 推荐(0) 编辑

摘要: 先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上 阅读全文
posted @ 2011-07-29 01:02 心翼 阅读(1099) 评论(0) 推荐(0) 编辑