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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows 公共控件库研究

發(fā)布時間:2025/4/14 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows 公共控件库研究 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

已知Windows公共控件庫包含工具條控件,樹視圖控件,ListView控件;參見;

https://blog.csdn.net/bcbobo21cn/article/details/106287676

https://blog.csdn.net/bcbobo21cn/article/details/106299245

https://blog.csdn.net/bcbobo21cn/article/details/106289420

來看一下此DLL是否還包含其他控件或函數(shù);就是這個comctl32.dll;

看下還有xxxMRUxxx函數(shù),這個應(yīng)是處理 最近打開文件列表 的函數(shù);

然后還有屬性頁控件;CreatePropertySheetPage;

DPAxxx不知道干嘛的;查了一下好像是 文檔類型......;

滾動條函數(shù)或控件;

圖像列表控件;這個和工具條配合使用的,往工具條里面添加圖標的;

然后就是些沒有名字的函數(shù);估計沒用;

下面來創(chuàng)建一下屬性頁控件看看;

#include <windows.h> #include <commctrl.h> #include "resource.h"LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); BOOL CALLBACK PPYProc(HWND , UINT , WPARAM , LPARAM );HINSTANCE hInst; TCHAR szClassName[] = TEXT("ppyDemo");int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil) {HWND hwnd;MSG messages;WNDCLASSEX wincl;hInst = hThisInstance;wincl.hInstance = hThisInstance;wincl.lpszClassName = szClassName;wincl.lpfnWndProc = WindowProcedure;wincl.style = CS_DBLCLKS;wincl.cbSize = sizeof (WNDCLASSEX);wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);wincl.hCursor = LoadCursor (NULL, IDC_ARROW);wincl.lpszMenuName = MAKEINTRESOURCE (IDC_PPYDEMO);wincl.cbClsExtra = 0;wincl.cbWndExtra = 0;wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);if (!RegisterClassEx (&wincl))return 0;hwnd = CreateWindowEx (0,szClassName,TEXT("ppyDemo"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,400,400,HWND_DESKTOP,NULL,hThisInstance,NULL);ShowWindow (hwnd, nFunsterStil);while (GetMessage (&messages, NULL, 0, 0)){TranslateMessage(&messages);DispatchMessage(&messages);}return messages.wParam; }LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {PAINTSTRUCT ps;HDC hdc;RECT rt;int ret;char szBuffer[100];PROPSHEETPAGE psp={0};HPROPSHEETPAGE hsp;switch (message){case WM_COMMAND:switch (LOWORD(wParam)){case IDM_ppy://psp.pszHeaderTitle="屬性頁1";//psp.pszHeaderSubTitle="屬性頁1-001";psp.dwSize=sizeof(PROPSHEETPAGE);psp.dwFlags=PSP_DEFAULT | PSP_USETITLE|PSP_HASHELP|PSP_PREMATURE|PSP_RTLREADING;psp.hInstance=hInst;psp.pszTitle="屬性頁1";psp.pfnDlgProc=PPYProc;psp.hIcon=NULL;psp.pszIcon=NULL;hsp=CreatePropertySheetPage(&psp);//hsp=PropertySheet(&psp);wsprintf(szBuffer, "創(chuàng)建屬性頁控件:%x ",hsp);MessageBox(NULL,szBuffer,TEXT("創(chuàng)建屬性頁"),0);break;case IDM_ABOUT:MessageBox (hwnd, TEXT ("ppyDemo v1.0\nCopyright (C) 2020\n by bo"),TEXT ("ppyDemo"), MB_OK | MB_ICONINFORMATION);break;case IDM_EXIT:DestroyWindow(hwnd);break;default:return DefWindowProc(hwnd, message, wParam, lParam); }break;case WM_CREATE:break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rt);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage (0);break;default:return DefWindowProc (hwnd, message, wParam, lParam);}return 0; }BOOL CALLBACK PPYProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch(uMsg){case WM_INITDIALOG:MessageBox(NULL, "屬性頁初始化.", "", MB_OK);break; case WM_KEYDOWN:break; case WM_COMMAND:return TRUE;case WM_CLOSE:DestroyWindow(hWnd);return TRUE;case WM_DESTROY:PostQuitMessage(0);return TRUE;}return FALSE; // 如果函數(shù)不處理消息,則對話框應(yīng)用程序應(yīng)該返回零值。 }

運行;屬性頁創(chuàng)建失敗返回0;創(chuàng)建成功;

但是屬性頁界面不會顯示;PROPSHEETPAGE結(jié)構(gòu)體都已經(jīng)賦值;下回再看;

菜單;

工程;

資源和頭文件;

#include "resource.h" #include <windows.h>/ // // Menu //IDC_PPYDEMO MENU BEGINPOPUP "&File"BEGINMENUITEM "創(chuàng)建屬性頁控件", IDM_ppyMENUITEM "E&xit", IDM_EXITENDPOPUP "&Help"BEGINMENUITEM "&About ...", IDM_ABOUTEND END #define IDM_EXIT 10001 #define IDM_ABOUT 10002#define IDC_PPYDEMO 10101 #define IDD_ABOUTBOX 10102 #define IDM_ppy 40001

win32 屬性頁控件相關(guān)的參考在;這不是MFC里面的屬性頁控件;

https://docs.microsoft.com/en-us/previous-versions/ms910670(v=msdn.10)
PROPSHEETPAGE
https://docs.microsoft.com/en-us/windows/win32/api/prsht/nf-prsht-createpropertysheetpagea
CreatePropertySheetPageA function

總結(jié)

以上是生活随笔為你收集整理的Windows 公共控件库研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。