1、CButtonST::SetCheck
DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE)
注釋:
當按鈕被當作CheckBox使用的時候,用來設定按鈕的狀態。
參數:
nCheck : 1表示選中; 0表示沒選中
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
2、CButtonST::SetColor
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注釋:
調用此函數可以設定按鈕在各種狀態下顯示指定的底色。
參數:
byColorIndex : 狀態索引值。具體含義可以參見OffsetColor函數中的參數(byColorIndex)說明。
BTNST_COLOR_BK_IN //滑鼠放在按鈕內時的背景色
BTNST_COLOR_FG_IN, //滑鼠放在按鈕內時的前景色彩
BTNST_COLOR_BK_OUT, //普通狀態時的背景色
BTNST_COLOR_FG_OUT, //普通狀態時的前景色彩
BTNST_COLOR_BK_FOCUS, //按鈕被按下後的背景色
BTNST_COLOR_FG_FOCUS, //按鈕被按下後的前景色彩
crColor : 顏色值。設定按鈕指定狀態的底色。
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDINDEX: 無效的狀態索引值。
3、CButtonST::SetDefaultColors
DWORD SetDefaultColors(BOOL bRepaint = TRUE)
注釋:
調用此函數之後,程式將使用預設顏色來設定按鈕在各個狀態下的顏色。這些顏色值可能會因為Windows版本的不同而不同。
參數:
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
4、CButtonST::SetFlat
DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE)
注釋:
調用此函數來設定按鈕的顯示風格。
參數:
bFlat: 值為TRUE則顯示為平面按鈕; 值為FALSE則顯示為標準的Windows按鈕
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
5、CButtonST::SetIcon
DWORD SetIcon(int nIconIn, int nIconOut = NULL)
DWORD SetIcon(HICON hIconIn, HICON hIconOut = NULL)
注釋:
調用此函數可以在按鈕上顯示指定的表徵圖(Icon)。如果對同一個按鈕重複調用了此函數的話,那麼按鈕只顯示最後一次指定的表徵圖。
參數:
nIconIn : 表徵圖的ID值,當滑鼠指標移動到按鈕上面的時候顯示該表徵圖。如果該參數被賦值為 NULL ,則分配給這個按鈕的所有表徵圖資源將被釋放。
hIconOut: 表徵圖的ID值,當滑鼠指標不在按鈕上面的時候顯示該表徵圖。調用函數的時候可以忽略該參數。
hIconIn : 表徵圖的控制代碼,當滑鼠指標移動到按鈕上面的時候顯示該表徵圖。如果該參數被賦值為
NULL ,則分配給這個按鈕的所有表徵圖資源將被釋放。
hIconOut: 表徵圖的控制代碼,當滑鼠指標不在按鈕上面的時候顯示該表徵圖。調用函數的時候可以忽略該參數。
傳回值:
BTNST_OK: 表示函數執行成功。
BTNST_INVALIDRESOURCE: 表示函數執行失敗,例如無法讀取指定的表徵圖資源。
6、CButtonST::SetMenu
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bWinXPStyle = TRUE, UINT nToolbarID = NULL, CSize
sizeToolbarIcon = CSize(16, 16), COLORREF crToolbarBk = RGB(255, 0, 255), BOOL bRepaint = TRUE)
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bRepaint = TRUE)
注釋:
要調用此函數必須與BCMenu類一起使用。函數將為按鈕指派一個菜單,當點擊按鈕的時候會彈出所指派的菜單。此函數的調用與宏有關,如果在代碼中聲明了BTNST_USE_BCMENU 宏,則應該調用SetMenu函數的第一種形式,否則應該調用SetMenu的後一種形式。
參數:
nMenu : 菜單的ID值。
hParentWnd: 菜單所屬的視窗控制代碼。菜單選項將觸發該視窗內的時間。
bWinXPStyle: 值為TRUE則會以XP風格顯示菜單, 值為FALSE則會以標準風格顯示菜單。
nToolbarID: 工具條的ID值。程式會將工具條中與功能表項目ID值相同圖片加入到菜單中。
sizeToolbarIcon: 指定工具條中每一個表徵圖的大小,它是一個CSize 類型的執行個體。注意請確保工具條中所有表徵圖的大小一致。
crToolbarBk: 顏色值。工具條圖片中與該顏色相同的地區將顯示為透明。
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDRESOURCE: 無法讀取指定資源。
7、CButtonST::TooltipText
void SetTooltipText(int nText, BOOL bActivate = TRUE)
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE)
注釋:
調用此函數可以為按鈕設定提示資訊。
參數:
nText: 字串的ID值。
lpszText: 所要顯示的字串。
nActivate: 值為TRUE表示啟用提示功能, 值為FALSE表示不啟用提示功能。
8、CButtonST::SetURL
DWORD SetURL(LPCTSTR lpszURL = NULL)
注釋:
調用此函數後,單擊按鈕將開啟參數所指定的串連。
參數:
lpszURL: 包含連結資訊的字串。
傳回值:
BTNST_OK: 函數執行成功。
CButtonST::DrawBorder
DWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE)
注釋:
因為CButtonST的預設顯示風格是平面按鈕。調用此函數用來顯示按鈕邊框。
參數:
bDrawBorder: 值為TRUE則顯示按鈕邊框。
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行完畢。
9、CButtonST::DrawFlatFocus
DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint = TRUE)
注釋:
此函數只對平面按鈕有效,調用此函數可以在按鈕中顯示焦點。
參數:
bDrawFlatFocus : 值為TRUE則會在平面按鈕上顯示焦點。
bRepaint : 值為TRUE則馬上重畫按鈕。
傳回值:
BTNST_OK: 表示函數執行成功。
10、CButtonST::DrawTransparent
void DrawTransparent(BOOL bRepaint = FALSE)
注釋:
調用此函數來啟用透明顯示模式。注意,此操作是無法復原的,而且必須在按鈕執行個體建立之後調用。函數將會在記憶體中保留一份視窗背景的拷貝,因此請真的有需要時才調用此函數,以免浪費記憶體空間。透明模式一般是在帶有背景的視窗中使用。
參數:
bRepaint : 為TRUE則馬上重繪按鈕。
11、CButtonST::OffsetColor
DWORD OffsetColor(BYTE byColorIndex, short shOffset, BOOL bRepaint = TRUE)
注釋:
調用此函數可以設定按鈕在各種狀態下顯示指定的底色。函數會根據所傳遞的位移量參數以及按鈕原來的預設底色產生一個新的顏色值。通過這樣的方法可以使得按鈕在不同狀態下的顏色變化更為自然。
參數:
byColorIndex : 狀態索引值,它的取值必須是以下枚舉值之一。
取值注釋
BTNST_COLOR_BK_IN 滑鼠指標位於按鈕上面時的底色
BTNST_COLOR_FG_IN 滑鼠指標位於按鈕上面時的前景色彩
BTNST_COLOR_BK_OUT 滑鼠指標不在按鈕上面時的底色
BTNST_COLOR_FG_OUT 滑鼠指標不在按鈕上面時的前景色彩
BTNST_COLOR_BK_FOCUS 焦點位於按鈕上面時的底色
BTNST_COLOR_FG_FOCUS 焦點位於按鈕上面時的前景色彩
*前景色彩一般是指文字的顏色
shOffsetColor: 指定顏色的位移量,它的取值範圍是[-255,255]。
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK : 函數執行成功。
BTNST_INVALIDINDEX : 由 byColorIndex 指定狀態索引值無效。
BTNST_BADPARAM : 根據位移量產生的值超出RGB的顏色取值範圍。
12、CButtonST::SetAlign
DWORD SetAlign(BYTE byAlign, BOOL bRepaint = TRUE)
注釋:
調用此函數可以設定按鈕標(或位元影像)於按鈕上文字的相對位置。
參數:
byAlign: 位置參數,它的取值必須是以下枚舉量之一。
取值注釋
ST_ALIGN_HORIZ 表徵圖/圖片在左,文字在右
ST_ALIGN_VERT 表徵圖/圖片在上,文字在下
ST_ALIGN_HORIZ_RIGHT 表徵圖/圖片在右,文字在左
預設值為ST_ALIGN_HORIZ.
bRepaint: 為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDALIGN: 位置參數無效。
CButtonST::SetAlwaysTrack
DWORD SetAlwaysTrack(BOOL bAlwaysTrack = TRUE)
注釋:
此函數只對平面按鈕有效。調用此函數可以設定按鈕是否顯示醒目提示。
參數:
bAlwaysTrack: 值為TRUE時,無論前視窗是否為啟用視窗,只要滑鼠指標移動到按鈕上面都會發按鈕的顯示狀態發生變化。預設值為TRUE。
值為FALSE時,如果視窗未被啟用,按鈕的顯示不會發生變化。
傳回值:
BTNST_OK : 函數執行成功。
13、CButtonST::SetBitmaps
DWORD SetBitmaps(int nBitmapIn, COLORREF crTransColorIn, int nBitmapOut = NULL, COLORREF crTransColorOut = 0)
DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut = NULL, COLORREF crTransColorOut = 0)
注釋:
調用此函數可以在按鈕上顯示指定的圖片(Icon)。如果對同一個按鈕重複調用了此函數的話,那麼按鈕只顯示最後一次指定的圖片。
參數:
nBitmapIn: 圖片的ID值。當滑鼠指標位於按鈕之上時顯示該圖片。
crTransColorIn: 顏色值。ID為nBitmapIn的圖片中與該顏色相同的地區將顯示透明。
nBitmapOut: 圖片的ID值。當滑鼠指標不在按鈕之上時顯示該圖片。
crTransColorOut: 顏色值。ID為nBitmapOut的圖片中與該顏色相同的地區將顯示透明。
hBitmapIn: 圖片的控制代碼。當滑鼠指標位於按鈕之上時顯示該圖片。
crTransColorIn: 顏色值。由hBitmapIn指定的圖片中與該顏色相同的地區將顯示透明。
hBitmapOut: 圖片的ID值。當滑鼠指標不在按鈕之上時顯示該圖片。
crTransColorOut: 顏色值。由hBitmapOut指定的圖片中與該顏色相同的地區將顯示透明。
傳回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDRESOURCE: 指定資源讀取失敗。
BTNST_FAILEDMASK: 顏色提取失敗。
14、CButtonST::SetBtnCursor
DWORD SetBtnCursor(int nCursorId = NULL, BOOL bRepaint = TRUE)
注釋:
這個函數可以讓滑鼠在移動到按鈕上面的時候顯示指定的滑鼠指標。
參數:
nCursorId: 滑鼠指標的ID值。
bRepaint: 值為TRUE則馬上重繪按鈕。
傳回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDRESOURCE: 讀取指定資源失敗。