二 基於單文件程式 在工具欄新增進度條

2021-07-06 10:51:38 字數 1364 閱讀 3479

步驟:

首先宣告乙個進度條類,它繼承系統的cstatusbar類,利用類嚮導新增cprogressstatusbar類,標頭檔案progressstatusbar.h如下:

#pragma once

#include "afxext.h"

class cprogressstatusbar :

public cstatusbar

;protected:

//}afx_msg

declare_message_map()

};

標頭檔案中定義了兩個訊息對映函式oncreate()和onsize()函式

定義部分在原始檔中,如下:

int cprogressstatusbar::oncreate(lpcreatestruct lpcreatestruct)

void cprogressstatusbar::onsize(uint ntype, int cx, int cy)

接下來在cmainframe類中將狀態條變數m_wndstatusbar型別改為定義的類cprogressstatusbar

新增乙個變數,記錄進度條當前位置,m_pos

private:   // 自定義成員變數

int m_pos;

在cmainframe類的建構函式裡初始化m_pos = 0;

cmainframe::cmainframe()

同時在cmainframe::oncreate函式體裡新增乙個定時器函式:

int cmainframe::oncreate(lpcreatestruct lpcreatestruct)

if (!m_wndstatusbar.create(this))

m_wndstatusbar.setindicators(indicators, sizeof(indicators)/sizeof(uint));

// todo: 如果不需要可停靠工具欄,則刪除這三行

m_wnd*******.enabledocking(cbrs_align_any);

enabledocking(cbrs_align_any);

dockcontrolbar(&m_wnd*******);

settimer(1, 100, null);

return 0;

}

最後新增定時器響應函式ontimer()

void cmainframe::ontimer(uint nidevent)

多文件 新增選單欄 工具欄 刪除ribbon

vs vs2010 工程型別 mfc 多文件 office office2007 1 去掉ribbon 在cmainframe oncreate中刪除 m wndribbonbar.create this delete by psq m wndribbonbar.loadfromresource i...

給單文件程式的工具欄動態增加提示的做法

一般工具欄按鈕通過配置生成,按鈕提示也可以儲存在配置檔案裡,然而如何動態增加這個提示網上的資料不多。關於如何顯示工具提示,微軟官網上有一篇文章 如何後呼叫 enabletooltips 顯示工具提示 我試過了,要實現給單文件程式的工具欄動態增加提示,文中的提法並沒有效果。我注意到文中使用的是cfor...

單文件中將系統工具欄更換成自己定義的工具欄

一 如何去掉系統生成的工具欄 在cmainframe類的oncreate函式新增如下 在return 0之前 去掉工具欄 m wnd showwindow sw hide 去掉狀態列 m wndstatusbar.showwindow sw hide 二 新增自己定義的工具欄 主要分為以下幾個步驟 ...