日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】Win32 Slider Control的用法

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Win32 Slider Control的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

2.1?獲得控件的窗口句柄。

slider control也是一個窗口,是對話框的子窗口,因此,要用GetDlgItem來實現:

backlight_wnd = GetDlgItem(hDlg, IDC_SLIDER_BACKLIGHT); ?//注意下面示例中藍色標出的區別

2.2?設置slider control的區間,是給slider control發TBM_SETRANGE消息,比如我設置0到100就是:

SendMessage(backlight_wnd,TBM_SETRANGE, (WPARAM)1,(LPARAM)MAKELONG(0,100));

2.3?設置滑塊的初始位置是發送TBM_SETPOS消息來實現的:

???SendMessage(backlight_wnd,TBM_SETPOS, (WPARAM)1,(LPARAM)BacklightPercentage);
2.4 slider control和用戶的交互,則是通過WM_HSCROLL消息來實現的,需要在WM_HSCROLL的響應函數里面發送TBM_GETPOS消息得到當前滑塊的位置:

BacklightPercentage = (unsigned char)SendMessage(backlight_wnd,TBM_GETPOS,0,0);

2.5?旁邊的一個當前刻度的數字的說明,需要先設定一個Static text文本控件,然后動態給該控件發送WM_SETTEXT消息來實現動態的更新數字:

SendMessage(GetDlgItem(hDlg, IDC_STATIC_BACKLIGHT_VALUE), WM_SETTEXT, 0, LPARAM(szBacklightPercentage));

最后面的那個參數,szBacklightPercentage是一個字符串。

?

?

?

INT_PTR WINAPI DlgProcTouMingSet(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {PAINTSTRUCT ps;HDC hdcAbout;int EscKeyID=1000;int ReturnID=1001;HWND backlight_wnd;switch (uMsg){case WM_INITDIALOG:{RegisterHotKey(hwnd,EscKeyID,0,VK_ESCAPE);RegisterHotKey(hwnd,ReturnID,0,VK_RETURN);backlight_wnd = GetDlgItem(hwnd,IDC_SLIDER_TouMing);//2.2 設置slider control的區間,是給slider control發TBM_SETRANGE消息,比如我設置0到100就是:SendMessage(backlight_wnd,TBM_SETRANGE, (WPARAM)1,(LPARAM)MAKELONG(15,255));int TouMingChuShi= GetPrivateProfileInt(_T("SkinChoose"),_T("TouMing"),150,defaultFullFullPath);SendMessage(backlight_wnd,TBM_SETPOS, (WPARAM)1,TouMingChuShi); //讀取初始透明度}break;case WM_HSCROLL:{int nScrollCode = (int) LOWORD(wParam); // scroll bar value //int nPos = (int) HIWORD(wParam); // scroll box position HWND hwndScrollBar = (HWND) lParam; // handle to scroll bar lParam一般表示窗口句柄 int nPos=200;nPos=SendMessage(hwndScrollBar,TBM_GETPOS,0,0); TCHAR TouMing[10];switch(nScrollCode){case SB_THUMBTRACK: //用戶拖動滾動框。此消息被重復發送,直到用戶釋放鼠標按鈕。{nPos=SendMessage(hwndScrollBar,TBM_GETPOS,0,0); _itow_s( nPos, TouMing, 10, 10);WritePrivateProfileString(_T("SkinChoose"),_T("TouMing"),TouMing,defaultFullFullPath);SetLayeredWindowAttributes(hwnd1,RGB(0,0,0), //表示與此顏色相同的顏色將會透明 nPos, //表示透明度0是全透明,255是全顯示LWA_ALPHA|LWA_COLORKEY //LWA_ALPHA|LWA_COLORKEY:這樣crKey的地方將變為全透明,而其它地方根據bAlpha參數確定透明度。); }break;case SB_ENDSCROLL:{nPos=SendMessage(hwndScrollBar,TBM_GETPOS,0,0);WritePrivateProfileString(_T("SkinChoose"),_T("Skin"),_T("1"),defaultFullFullPath);SetLayeredWindowAttributes(hwnd1,RGB(0,0,0), //表示與此顏色相同的顏色將會透明 nPos, //表示透明度0是全透明,255是全顯示LWA_ALPHA|LWA_COLORKEY //LWA_ALPHA|LWA_COLORKEY:這樣crKey的地方將變為全透明,而其它地方根據bAlpha參數確定透明度。); break;}}}break; case WM_HOTKEY:{switch (wParam){case 1000:{EndDialog(hwnd, LOWORD(wParam));UnregisterHotKey(hwnd,1000);}break;case 1001:{EndDialog(hwnd, LOWORD(wParam));UnregisterHotKey(hwnd,1001);}break;}}break;case WM_LBUTTONDOWN:{EndDialog(hwnd, LOWORD(wParam));return (INT_PTR)TRUE;}break;case WM_COMMAND:{UINT wmId = LOWORD(wParam);UINT wmEvent = HIWORD(wParam);switch (wmId){case IDOK: //獲取生日時間并賦值給全局變量case IDCANCEL:{EndDialog(hwnd, LOWORD(wParam));}return (INT_PTR)TRUE;}}}return (INT_PTR)FALSE; }

?

?

?

轉載于:https://my.oschina.net/ypimgt/blog/81390

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【转】Win32 Slider Control的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。