现在的位置: 首页 > 综合 > 正文

孙鑫教程笔记(六)

2013年09月03日 ⁄ 综合 ⁄ 共 1267字 ⁄ 字号 评论关闭

1. SetClassLong这个函数的能替换窗口类的信息,下面是替换图标的例子,在CMainFrame类中的OnCreate中最后输入

SetClassLong(m_hWnd,GCL_HICON,(LONG)LoadIcon(NULL,IDI_WARNING));则图标被替换成最后一个参数表示的图标

2. CMainFrame中修改光标和背景是没有意义的,因为Frame会被View遮盖,所以,要修改光标和背景需要在View类中修改。但是View类没有提供OnCreate这个消息响应函数,需要自己添加。 SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)LoadCursor(NULL,IDC_CROSS));//修改光标

SetClassLong(m_hWnd,GCL_HBRBACKGROUND,(LONG)(HBRUSH)GetStockObject(BLACK_BRUSH));//修改背景

3. MAKEINTRESOURCE这个宏将一个整型值转化为一个资源

MAKEINTRESOURCE(IDI_ICON1);//这是把资源IDIDI_ICON1的图标转化为资源的写法

4. 获得应用程序的实例有三种方法

a)         AfxGetInstanceHandle()

b)         AfxGetApp()->m_hInstance

c)         MFC架构中,有一个类APP类已经实例化了一个变量:C***App theApp;所以我们在需要的地方生命一下就行了。例如在CMainFrame要使用这个函数,只需要

extern CModifyApp theApp就行了。然后调用theApp->m_hInstance;

5. 要获得一个介于0-2之间的数,可以这样

OnTimer()

{

         static int i=0

         i=++i%3;

}

6. 设置复选标记,可以用UpDateCommandUI 消息相应,然后用pCmdUI->SetCheck()

7. CTime获取系统时间CTime::GetCurrentTime

8. 设置状态栏信息CStatusBar::SetPaneText

9. 进度栏CProgressCtrl

10.              自定义消息使用

a)         消息在windows中用整数值表示,windows系统消息定义到了WM_USER,自己要定义消息的话,需要在这个基础上面加一个值。#define UM_PROGRESS WM_USER+1

b)         在头文件中自定义消息:#define UM_PROGESS WM_USER+1,有了消息之后我们需要作消息响应函数的声明,在头文件中进行afx_msg void OnProgress()

c)         消息响应函数声明之后需要做消息映射。ON_MESSAGE(UM_PROGRESS,OnProgress)

d)         消息映射之后要实现函数void CMainFrame::OnProgress(){}

抱歉!评论已关闭.