t t孫鑫 第九課之二 工具欄程式設計筆記

2021-06-16 10:04:11 字數 2493 閱讀 7057

1 建立工具欄方法一

①建立乙個工具欄按鈕

②構造乙個c*******物件

③呼叫 create 或 createex函式來和工具欄資源繫結到c*******物件

④呼叫load******* 函式來載入工具欄資源

eg.  可以按照下面的方式建立工具欄

c******* new*******;

int    cmainframe::oncreate(lpcreatestruct    lpcreatestruct)

new*******.enabledocking(cbrs_align_any);

enabledocking(cbrs_align_any); //cframewnd類成員函式: 允許工具欄停靠在它的任何位置

dockcontrolbar(&m_wnd*******);//停靠工具欄

2 建立工具欄方法二

①構造乙個c*******物件

②呼叫 create 或 createex函式來和工具欄資源繫結到c*******物件

③呼叫loadbitmap載入一副包含工具欄按鈕的點陣圖

④呼叫setbuttons來設定點陣圖中每個按鈕的型別

eg.略

3 隱藏/顯示工具欄

選單按鈕idm_show()用來顯示/隱藏按鈕

void cmainframe::onshow()

else

recalclayout();  //重新布局頁面

dockcontrolbar(&new*******);  //停靠new*******工具欄,當把工具欄拉到客戶區中間位置時(懸浮狀態),如果沒有這句並且在隱藏又顯示的時候就會出現bug:工具按鈕隱藏了但是工具按鈕的載體卻沒有隱藏。

}

showcontrolbar() 這個函式比①用起來簡單

void showc?ontrolbar(

ccontrolbar     *pbar

, //工具欄指標

boolbshow

,// bshow為ture時顯示工具欄,false時隱藏工具欄

boolbdelay

//bdelay為true時延遲顯示工具欄,false時立即顯示

);

void cmainframe::onshow()

③在該選單上用是否打勾來表示當前是顯示/隱藏工具欄

要寫在on_command_ui函式裡,這個函式用來更新菜的可用狀態/是否大功等的狀態顯示 ,而不能用來響應實際命令

ccmdui::setcheck

virtualvoidsetcheck(intncheck

=1);

引數:ncheck

0:不打勾     1:打勾    2:一般不用 只在比如核取方塊有三種狀態的時候用

specifies the check state to set. if 0, unchecks; if 1, checks; and if 2, sets indeterminate.

void cmainframe::onupdateshow(ccmdui* pcmdui)

第九課 變數

任務與 修改 沒有定義變數r,在第四行float r1,r2之後加上r就可以 include include intmain 閱讀程式 閱讀下面的程式,在閱讀過程中,請為每乙個變數畫出乙個方框,代表對應的記憶體空間。隨著閱讀,標明變數的變化過程,達到讀懂程式的目的。include intmain 圖...

C語言第九課

主要內容 高階指標 結構體指標 一 結構體指標 指向結構體變數的指標叫做結構體指標 typedef struct student student student stu student p stu student 結構體型別的指標 型別 p 結構體指標變數 變數名 結構體訪問成員變數 示例 type...

第九課 VBO索引

到目前為止,我們在建立vbo時總是重複儲存三角形公共邊的頂點。本課將介紹索引。索引是通過索引緩衝 index buffer 來實現的頂點復用。索引緩衝儲存的是整數 每個三角形有三個整數索引,分別指向各種屬性緩衝 attribute buffer 頂點位置 顏色 uv座標 其他uv座標 法線緩衝法線等...