freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο笈c可視化程序設(shè)計(jì)第七講-資料下載頁

2025-09-26 01:34本頁面
  

【正文】 ∥ 預(yù)定義窗口類名 NULL, ∥ 編輯框一般無標(biāo)題 WS_ CHILD|WS_ VISIBLE|… , ∥ 樣式 X, Y, ∥ 編輯框起始坐標(biāo) nWidth,nHeight, ∥ 編輯框的寬度與高度 hwndParant, ∥ 擁有該編輯框的窗口句柄 ID, ∥ 編輯框標(biāo)識(shí) hInstance, ∥ 應(yīng)用程序當(dāng)前實(shí)例句柄 NULL) 創(chuàng)建對(duì)話框中編輯框控件 EDITTEXT ID, X, Y, nWidth,nHeight,[,style] 編輯框控件 48 編輯框與應(yīng)用程序間的消息傳遞 應(yīng)用程序創(chuàng)建編輯框控件后,可通過接收控件發(fā)出的消息得知用戶的請(qǐng)求,并可通過向編輯框發(fā)送消息對(duì)其進(jìn)行操作 編輯框向應(yīng)用程序發(fā)送WM_COMMAND消息 消息字參數(shù)( wParam)的低字節(jié)為控件標(biāo)識(shí) 該消息字參數(shù)( wParam)的高字節(jié)為標(biāo)識(shí)列表框動(dòng)作的消息通知碼 應(yīng)用程序向編輯框發(fā)送消息 消息傳遞種類 調(diào)用 SendMessage 調(diào)用 SendDlgItemMessage 向應(yīng)用程序發(fā)送各種消息 49 編輯框控件應(yīng)用舉例 【 例 85】 本例介紹一個(gè)包含編輯框控件的“ 乘法器”示例程序,如圖所示。當(dāng)在乘數(shù)的輸入框中輸入一個(gè)數(shù),然后單擊 “ ”(乘號(hào) ),再在乘數(shù)的輸入框中輸入另一個(gè)數(shù),在結(jié)果輸出框中就可以看到運(yùn)算的結(jié)果,如本例第一次輸入數(shù)字 5,第二次輸入數(shù)字 8,得到的結(jié)果為40。 50 LRESULT CALLBACK WndProc(......) {switch(message) {case WM_CREATE: //定義各種子窗口控件 hStatic1 = CreateWindow(STATIC,乘數(shù) :, WS_CHILD|WS_VISIBLE, 40,20,50,20,hwnd,(HMENU)IDS_1,hInst,NULL)。 hStatic2 = CreateWindow(STATIC,結(jié)果 :, WS_CHILD|WS_VISIBLE, 40,70,50,20,hwnd,(HMENU)IDS_2,hInst,NULL)。 hEditItem = CreateWindow( EDIT,NULL, WS_CHILD|WS_VISIBLE|ES_LEFT|WS_BORDER, 130,20,80,20,hwnd,(HMENU)IDE_ADDITEM, hInst,NULL)。 hEditResult = CreateWindow( EDIT,NULL, S_CHILD|WS_VISIBLE|ES_LEFT|WS_BORDER|ES_READONLY, 130,70,80,20,hwnd,(HMENU)IDE_RESULT,hInst,NULL)。 hButtonAdd = CreateWindow(BUTTON, , WS_CHILD|WS_VISIBLE, 20,120,70,20,hwnd,(HMENU)IDB_ADD,hInst,NULL)。 hButtonReset=CreateWindow(“BUTTON”,“ 重 新 開 始 ” ,WS_CHILD|WS_VISIBLE, 100,120,70,20,hwnd,(HMENU)IDB_RESET,hInst,NULL)。 hButtonCancle=CreateWindow( BUTTON,退出 , WS_CHILD|WS_VISIBLE, 180,120,70,20,hwnd,(HMENU)IDB_CANCLE,hInst,NULL)。 //設(shè)置 “ 結(jié)果 ” 編輯框的初始值 SetWindowText(hEditResult,0)。 break。 51 case WM_SETFOCUS: //設(shè)置編輯框獲得輸入焦點(diǎn) SetFocus(hEditItem)。 break。 case WM_COMMAND: switch (LOWORD(wParam)) {case IDB_ADD: nMax=GetWindowTextLength(hEditItem)+1。 GetWindowText(hEditItem,lpszAddItem,nMax)。 nAddItem=strtol(lpszAddItem,amp。stop,10)。 nResult*=nAddItem。 _ltoa(nResult,lpszResult,10)。 //將結(jié)果轉(zhuǎn)換成字符串 SetWindowText(hEditResult,lpszResult)。 SetWindowText(hEditItem,)。 SendMessage(hwnd,WM_SETFOCUS,0,0L)。 break。 獲取編輯框中用戶 輸入的文本長度 獲取 用戶 輸入 將輸入的 字符串轉(zhuǎn) 換成整形 在 “ 乘數(shù) ” 框中 清除用戶輸入, 準(zhǔn)備接收新的輸入 在 “ 結(jié)果 ” 編輯 框中輸出結(jié)果 使 “ 乘數(shù) ” 框重 新得到輸入焦點(diǎn) 52 case IDB_RESET: //在 “ 乘數(shù) ” 框中清除用戶輸入,準(zhǔn)備接收新的輸入 SetWindowText(hEditItem,)。 //使 “ 乘數(shù) ” 框重新得到輸入焦點(diǎn) SendMessage(hwnd,WM_SETFOCUS,0,0L)。 //恢復(fù) “ 結(jié)果 ” 編輯框的初始狀態(tài) SetWindowText(hEditResult,0)。 nResult=1。 nAddItem=1。 break。 case IDB_CANCLE: SendMessage(hwnd,WM_DESTROY,0,0L)。 break。 } break。 case WM_DESTROY: PostQuitMessage(0)。 break。 default: return DefWindowProc(hwnd,message,wParam,lParam)。 return 0。 } 53 【 例 75】 創(chuàng)建一個(gè)編輯框控件和兩個(gè)按鈕控件,它們分別是 “ 顯示字符 ” 和 “ 顯示字符數(shù) ” ,在此編輯框中輸入某一個(gè)字符串,單擊 “ 顯示字符 ” 按鈕,在另外一個(gè)輸出框中輸出此字符串;單擊 “ 顯示字符數(shù) ”按鈕,在輸出框中顯示該字符串的字符數(shù)。如圖所示,是在上面的編輯框中輸入字符串 Huang Weitong后,單擊 “ 字符數(shù) ” 按鈕,在第二個(gè)編輯框中顯示字符串 Huang Weitong的字符數(shù)。 54 long WINAPI WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { case WM_CREATE: //窗口初始化消息 . hEdit1=CreateWindow(EDIT, //創(chuàng)建 EDIT對(duì)象 . NULL, //無標(biāo)題 . WS_CHILD|WS_VISIBLE|ES_LEFT|WS_BORDER, 130,20,300,30, hWnd, (HMENU)IDE_1, //編輯框標(biāo)識(shí) hInst, NULL)。 hEdit2=CreateWindow(EDIT, //創(chuàng)建 EDIT編輯框 . NULL, WS_CHILD|WS_VISIBLE|ES_LEFT|WS_BORDER, 130,70,300,30, hWnd, (HMENU)IDE_2, //編輯框標(biāo)識(shí) hInst, NULL)。 hBtn1=CreateWindow(BUTTON, //創(chuàng)建 BUTTON對(duì)象 . 顯示 , //標(biāo)題 WS_CHILD|WS_VISIBLE, 130,120, 100,70,hWnd, (HMENU)IDB1, //標(biāo)識(shí) hInst,NULL)。 hBtn2=CreateWindow(BUTTON, //創(chuàng)建 BUTTON對(duì)象 . 字符數(shù) , //標(biāo)題 . WS_CHILD|WS_VISIBLE, 330,120, 100,70,hWnd, (HMENU)IDB2, //標(biāo)識(shí) . hInst, NULL)。 break。 55 case WM_COMMAND: switch(LOWORD(wParam)) { case IDE_1: if(HIWORD(wParam)==EN_SETFOCUS) SetFocus(hEdit1)。 break。 case IDE_2: if(HIWORD(wParam)==EN_SETFOCUS) SetFocus(hEdit2)。 break。 case IDB1: //單擊顯示按鈕 . iMax=GetWindowTextLength(hEdit1)+1。 //得到輸入字符串的長度 . GetWindowText(hEdit1,cInput,iMax)。 //得到輸入字符串 SetWindowText(hEdit2,cInput)。 //輸出 . break。 case IDB2: //單擊字符數(shù)按鈕 . iMax=GetWindowTextLength(hEdit1)+1。 //得到輸入字符串的長度 . _ltoa((long)(iMax1),cImax,10)。 //轉(zhuǎn)化為字符 . SetWindowText(hEdit2,cImax)。 //輸出 . break。 } break。 case WM_DESTROY: //退出 . PostQuitMessage(0)。 break。 default: return(DefWindowProc(hWnd,iMessage,wParam,lParam))。 } return 0。 } 56 組合框是兩種預(yù)定義窗口的組合形式。在 Windows編程中使用單一控件往往不能完全滿足與用戶交互的需要,最常見的組合框例子是對(duì)話框及與其相聯(lián)系的靜態(tài)文本和編輯框。 組合框控件 兩種創(chuàng)建形式 創(chuàng)建獨(dú)立子窗口組合框 創(chuàng)建作為對(duì)話框控件的組合框 應(yīng)用程序間消息傳遞 組合框向應(yīng)用程序發(fā)送WM_COMMAND消息 應(yīng)用程序向組合框發(fā)送消息 SendMessage SendDlgItemMessage 57 組合框控件應(yīng)用舉例 【 例 86】 本例創(chuàng)建一個(gè)如圖 88所示的組合框控件,當(dāng)單擊向下按鈕時(shí),顯示可選文件的名字。 58 本例的源程序代碼如下: include include include //定義組合框標(biāo)識(shí) define IDC_SAMPLE1 101 define IDC_SAMPLE2 102 define IDC_SAMPLE3 103 HWND hComBox1,hComBox2,hComBox3。 HINSTANCE hInst。 char lpszClassName1[]=COMBOBOX。 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM)。 int WINAPI WinMain(......) { ...... } 59 LRESULT CALLBACK WndProc(......) {switch(message) {case WM_CREATE: //創(chuàng)建由列表框和靜態(tài)控件組成的組合框 hComBox2=CreateWindow(lpszClassName1,NULL, CBS_DROPDOWNLIST|WS_CHILD|WS_VISIBLE, 160,50,120,150,hwnd,(HMENU)IDC_SAMPLE2,hInst,NULL)。 SetFocus(hComBox2)。 //在各組合框中加入列表項(xiàng) SendMessage(hComBox2,CB_ADDSTRING,0,(LPARAM)ComBoxItem1)。 SendMessage(hComBox2,CB_ADDSTRING,0,(LPARAM)ComBoxItem2)。 break。 case WM_DESTROY:
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1