獲取和輸出代碼;
hdc=GetDC(hwnd);
ret=GetWindowLong(hwnd,GWL_STYLE);
wsprintf(szBuffer, "窗口樣式:%d",ret);
TextOut(hdc,100,50,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_EXSTYLE);
wsprintf(szBuffer, "擴展窗口樣式:%d",ret);
TextOut(hdc,100,70,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_HINSTANCE);
wsprintf(szBuffer, "實例句柄:0x%x",ret);
TextOut(hdc,100,90,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_HWNDPARENT);
wsprintf(szBuffer, "所有者窗口句柄:0x%x",ret);
TextOut(hdc,100,110,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_ID);
wsprintf(szBuffer, "窗口ID:%d",ret);
TextOut(hdc,100,130,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_USERDATA);
wsprintf(szBuffer, "用戶設置的32位數據:%d",ret);
TextOut(hdc,100,150,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(hwnd,GWL_WNDPROC);
wsprintf(szBuffer, "窗口過程地址:0x%x",ret);
TextOut(hdc,100,170,szBuffer,lstrlen(szBuffer));
//ret=GetWindowLong(edit1,GWL_STYLE);獲取不到
ret=GetWindowLong(GetDlgItem(hwnd,8),GWL_STYLE);
wsprintf(szBuffer, "文本框風格:%d",ret);
TextOut(hdc,100,190,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(GetDlgItem(hwnd,8),GWL_ID);
wsprintf(szBuffer, "文本框窗口ID:%d",ret);
TextOut(hdc,100,210,szBuffer,lstrlen(szBuffer));
ret=GetWindowLong(GetDlgItem(hwnd,8),GWL_STYLE);
if(ret & ES_PASSWORD)
{
//MessageBox(NULL,"這是一個密碼域",TEXT("獲取文本框風格"),0);
TextOut(hdc,100,230,"這是一個密碼域",14);
}
文本框創建代碼;
edit1 = CreateWindow(TEXT("Edit"), TEXT("mima123456"), ES_PASSWORD|WS_CHILD|WS_VISIBLE|ES_LEFT|WS_BORDER|WS_EX_CLIENTEDGE ,
20, 20, 130, 20, hwnd, (HMENU)8, hInst, NULL);
工程和其他代碼類似此;
https://blog.csdn.net/bcbobo21cn/article/details/106340762
在WM_CREATE消息裏創建文本框;增加ES_PASSWORD風格,用戶鍵入到字符將不可見;
GetWindowLong,第一個參數是要獲取的窗口句柄,第二個參數是要獲取的類別,返回值是獲取結果;
程序獲取本窗口的相關信息,創建的文本框的相關信息;