(年年月月岁岁朝朝,日复一日)
<>窗口外观修改: 窗口生成前修改:通过框架类(CMainFrame)PreCreateWindow()进行修改,修改对象包括CREATESTRUCT结构体中全部内容 cs.cx=300;等
窗口创建后修改:在框架类中在OnCtrate()函数中通过SetWindowLong()函数修改 GetWindowLong()获取窗口信息
<>窗口光标图标背景: 窗口生成前:窗口生成前可以在框架类中PreCreateWindow()函数里编写自定义窗口类进行注册,但是框架类智能改变窗口图标,而背景和光标要在视类中实现
背景图标等需要在视类窗口中创建(单文档SDI中视类和框架类一致),所以在视类中将框架类自定义窗口类再次注册,框架类中已声明。
快速设置:AfxRegisterWndClass(类型,光标,背景,图标);返回值为类名可以被直接调用
窗口创建后:SetClassLong(窗口句柄,属性索引,属性值);
<>模拟动画图标: 获取自定义图标LoadIcon(获取当前实例句柄,图标名或资源符字符串MAKEINTRESOURCE(ID)ID转换资源符字符串)
获取当前实例句柄 AfxGetInstanceHandle()或者theApp.m_hInstance(需要外部定义)(应用程序类的基类CWinApp的数据成员标识当前实例)或者
AfxGetApp()->hInstance获取当前程序对象指针用以访问m_hInstance
配置自定义图标 SetClassLong(m_hWnd,GCL_HICON,(LONG)m_hIcons[0]);属性值为自定义图标LoadIcon()返回值
<>定时器: 设置定时器SetTimer(),定时器消息WM_TIMER,响应函数Ontimer()
<>工具栏内容添加: 工具栏上添加按钮设置ID和相同ID按钮执行相同响应函数
<>工具栏创建: PlanA:创建工具栏资源>构建CToolBar对象>Create或CreateEx创建Windows工具栏并和CToolBar关联>LoadToolBar加载工具栏
PlanB:构建CToolBar对象>Create或CreateEx创建Windows工具栏并和CToolBar关联>LoadToolBar加载工具栏>SetButtons函数将工具栏按钮和位图关联
Create(父窗口指针,工具栏样式,工具栏ID); CToolBar::CreateEx(父窗口指针,Ctrl风格,工具栏样式,工具栏边框宽度,工具栏ID)
创建完成后通过CToolBar对象.EnableDocking()配置工具栏停靠位置,再EnableDocking()配置主框架可以被停靠位置,最后通过DockContrBar()进行停靠
注:上述过程在框架类中OnCreate()执行
暂停在351行,后续直接第11章
<>
<>
<>
<>
<>
<>
<>