以下是CButtonST類的所有公共成員函數(函數名按音序排列先後):
CButtonST::DrawBorder
DWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE)
注釋:
因為CButtonST的默認顯示風格是平面按鈕。調用此函數用來顯示按鈕邊框。
參數:
bDrawBorder: 值為TRUE則顯示按鈕邊框。
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行完畢。
CButtonST::DrawFlatFocus
DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint = TRUE)
注釋:
此函數只對平面按鈕有效,調用此函數可以在按鈕中顯示焦點。
參數:
bDrawFlatFocus : 值為TRUE則會在平面按鈕上顯示焦點。
bRepaint : 值為TRUE則馬上重畫按鈕。
返回值:
BTNST_OK: 表示函數執行成功。
CButtonST::DrawTransparent
void DrawTransparent(BOOL bRepaint = FALSE)
注釋:
調用此函數來激活透明顯示模式。注意,此操作是不可逆的,而且必須在按鈕實例創建之後調用。函數將會在內存中保留一份窗口背景的拷貝,因此請真的有需要時才調用此函數,以免浪費內存空間。透明模式一般是在帶有背景的窗口中使用。
參數:
bRepaint : 為TRUE則馬上重繪按鈕。
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的顏色取值范圍。
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 : 函數執行成功。
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: 顏色提取失敗。
CButtonST::SetBtnCursor
DWORD SetBtnCursor(int nCursorId = NULL, BOOL bRepaint = TRUE)
注釋:
這個函數可以讓鼠標在移動到按鈕上面的時候顯示指定的鼠標指針。
參數:
nCursorId: 鼠標指針的ID值。
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDRESOURCE: 讀取指定資源失敗。
CButtonST::SetCheck
DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE)
注釋:
當按鈕被當作CheckBox使用的時候,用來設置按鈕的狀態。
參數:
nCheck : 1表示選中; 0表示沒選中
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行成功。
CButtonST::SetColor
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注釋:
調用此函數可以設置按鈕在各種狀態下顯示指定的底色。
參數:
byColorIndex : 狀態索引值。具體含義可以參見OffsetColor函數中的參數(byColorIndex)說明。
crColor : 顏色值。設置按鈕指定狀態的底色。
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行成功。
BTNST_INVALIDINDEX: 無效的狀態索引值。
CButtonST::SetDefaultColors
DWORD SetDefaultColors(BOOL bRepaint = TRUE)
注釋:
調用此函數之後,程序將使用默認顏色來設定按鈕在各個狀態下的顏色。這些顏色值可能會因為Windows版本的不同而不同。
參數:
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行成功。
CButtonST::SetFlat
DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE)
注釋:
調用此函數來設置按鈕的顯示風格。
參數:
bFlat: 值為TRUE則顯示為平面按鈕; 值為FALSE則顯示為標准的Windows按鈕
bRepaint: 值為TRUE則馬上重繪按鈕。
返回值:
BTNST_OK: 函數執行成功。
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: 表示函數執行失敗,例如無法讀取指定的圖標資源。
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: 無法讀取指定資源。
CButtonST::TooltipText
void SetTooltipText(int nText, BOOL bActivate = TRUE)
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE)
注釋:
調用此函數可以為按鈕設定提示信息。
參數:
nText: 字符串的ID值。
lpszText: 所要顯示的字符串。
nActivate: 值為TRUE表示激活提示功能, 值為FALSE表示不激活提示功能。
CButtonST::SetURL
DWORD SetURL(LPCTSTR lpszURL = NULL)
注釋:
調用此函數後,單擊按鈕將打開參數所指定的連接。
參數:
lpszURL: 包含鏈接信息的字符串。
返回值:
BTNST_OK: 函數執行成功。