版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、純C語(yǔ)言實(shí)現(xiàn)圖形界面登陸窗口 編程工具是: 請(qǐng)根據(jù)個(gè)人需要對(duì)源代碼進(jìn)行修改使用,圖片放在工程文件夾中。新 建時(shí)應(yīng)該將文件后綴設(shè)置為.cpp 以下是程序燈源代碼: #include 是 界 圖 面 下 #include #include #include #include #include #defineLEN_A20/賬戶長(zhǎng)度 #defineLEN_P10/密碼長(zhǎng)度 typedefstructAccount ( charname20; longintpassword; InAccount; typedefstructinputAPword ( InAccountaccount; intflag
2、; InputAPword; voidinputbox(void); voidcursor(void); voidcursor2(void); voidname(void); intMouseEvent(IMAGE); InputAPwordmenu2(void) initgraph(640,480);/初始化圖形界面 IMAGEImg1;聲明一個(gè)IMAGED量 IMAGEImg2(640,480);/聲明一個(gè)IMAG豉量 charinput1LEN_A;/用于接收輸入的字符串charinput2LEN_P;/用于接收輸入的字符串intj; InputAPwordaccount; 10adim
3、age(&Img1,_T();加載圖片 SetWorkingImage(&Img1);/設(shè)置當(dāng)前繪圖設(shè)備為Img1 set1inesty1e(PS_SOLID,NULL,2);/設(shè)置線的樣式 setfont(64,0,華文隸書(shū));/設(shè)置字體的樣式和大小 settextc010r(RGB(134,0,255);設(shè)置字體的顏色 setlinec010r(RGB(16,16,16);設(shè)置線的顏色 setbkmode(TRANSPARENT);般置字體的背景為透明 0uttextxy(50,50,_T(A用戶登錄);/顯示漢字 settextc010r(RGB(0,0,0);/設(shè)置字體的顏色 rect
4、ang1e(50,150,350,340);/畫矩形框 rectang1e(254,515,302,585);/畫一個(gè)矩形框 fi11rectang1e(100,280,173,315);/登錄框 fi11rectang1e(223,280,296,315);/取消框 SetW0rkingImage();/恢復(fù)當(dāng)前繪圖設(shè)備為默認(rèn)設(shè)備 putimage(0,0,&Img1);/顯示圖片 do name();/顯示文字信息 setbkmode(OPAQUE);/設(shè)置字體背景為默認(rèn) setbkc010r(RGB(255,255,255); cursor();/顯示輸入框以及閃爍的光標(biāo) for(j=0
5、;LEN_A;j+)限制輸入,最多允許輸入LNE位數(shù)據(jù) input1j=getch();/讀取鍵盤輸入的字符并存入數(shù)組 outtextxy(161+8*j,193,input1j);將字符顯示在圖 片上 if(input1j=8)/按刪除鍵時(shí)的操作 input1j-1=0;/字符數(shù)組內(nèi)容刪除一位 outtextxy(161+8*j,193,);/將字符遮掩 outtextxy(161+8*(j-1),193,);/將字符遮掩 j-=2;/數(shù)組坐標(biāo)后退兩個(gè) if(j=-1)/當(dāng)回退到頭時(shí)的處理 input10=0;/對(duì)數(shù)組進(jìn)行標(biāo)記 break;/退出本次輸入 ) continue; elseif
6、(input1j=13)/按回車鍵時(shí)的處理 input1j=0;/將數(shù)組的最后一個(gè)數(shù)據(jù)標(biāo)記為0 if(j=0)/無(wú)任何輸入,且按下回車時(shí)的處理 outtextxy(161+8*j,193,);/將回車顯示的字 符遮掩 outtextxy(161+8*(j-1),193,);/將回車顯示 的字符遮掩 input10=0;/對(duì)數(shù)組進(jìn)行進(jìn)行標(biāo)記 break;/退出本次輸入 setbkmode(OPAQUE);/設(shè)置字體背景為默認(rèn) setbkc010r(RGB(255,255,255); cursor2();/光標(biāo)聚到下一個(gè)輸入框的開(kāi)始位置 for(j=0;jLEN_P;j+)/密碼輸入 input2
7、j=getch();/獲取從鍵盤輸入的字符 outtextxy(161+8*j,234,*);/以*號(hào)顯示,起到遮掩密 碼的作用 if(input2j=8)/按下刪除鍵時(shí)的處理 input2j-1=0;/對(duì)數(shù)組進(jìn)行處理 outtextxy(161+8*j,234,);/對(duì)需要進(jìn)行刪除處理 的字符進(jìn)行遮掩 outtextxy(161+8*(j-1),234,_T();/對(duì)需要?jiǎng)h除 進(jìn)行處理的字符進(jìn)行遮掩 j-=2;/對(duì)數(shù)組進(jìn)行處理 if(j=-1)/當(dāng)刪除到頭時(shí)進(jìn)行的操作 input20=0;/對(duì)數(shù)組進(jìn)行標(biāo)記 break;/退出本次輸入 continue; elseif(input2j=13)/
8、按下回車時(shí)的操作 outtextxy(161+8*j,234,); input2j=0;/將數(shù)組的最后一位標(biāo)記為0 if(j=0)/無(wú)任何操作,直接進(jìn)行回車輸入時(shí)的操作 outtextxy(161+8*j,234,);/對(duì)輸入回車時(shí)產(chǎn) 生的字符進(jìn)行遮掩 outtextxy(161+8*(j-1),234,_T();/對(duì)輸入 回車時(shí)產(chǎn)生的字符進(jìn)行遮掩 input20=0;/對(duì)數(shù)組進(jìn)行標(biāo)記 break;/結(jié)束本次輸入 getimage(&Img2,0,0,640,480);/保存當(dāng)前顯示的界面 while(input10=0)&(input20=0);/ 或第二個(gè)框有一個(gè)未輸入時(shí)則繼續(xù)循環(huán)輸入 s
9、witch(MouseEvent(Img2) case 1: =1; strcpy將輸入的字符存入結(jié)構(gòu)體 將輸入的密碼存入結(jié)構(gòu)體 break; case 2: =2; returnaccount; closegraph(); 當(dāng)?shù)谝粋€(gè) ) voidname(void)/顯示文字信息函數(shù) ( setfont(25,0,宋體)設(shè)置字體的大小和樣式 setbkmode(TRANSPARENT); settextc010r(RGB(0,0,0); outtextxy(90,190,_T(賬號(hào));/顯示漢字 outtextxy(90,233,_T(密碼); outtextxy(111,285,_T(登錄
10、); outtextxy(234,285,_T(取消); setfont(18,0,宋體) /setbkmode(OPAQUE);/設(shè)置字體背景為默認(rèn) ) voidcursor(void)/閃爍光標(biāo)的作用 while(1)/如果鍵盤沒(méi)有進(jìn)行輸入這循環(huán)閃爍 inputbox(); if(kbhit()/當(dāng)鍵盤有反應(yīng)時(shí)kbhit()會(huì)返回一個(gè)非零值 break;/退出閃爍 ) Sleep(300);/延時(shí) setlinestyle(PS_SOLID,NULL,2);/設(shè)置線的樣式為 PS_SOLID寬度為2 line(161,194,162,210);/光標(biāo)的描繪 Sleep(300);/延時(shí) ) ) voidcursor2(void)第二個(gè)光標(biāo) do Sleep(30);/延時(shí) setlinestyle(PS_SOLID,NULL,2);/設(shè)置字體樣式 line(162,234,163,251);/光標(biāo)的描繪 Sleep(30);/延時(shí) while(!kbhit();/當(dāng)鍵盤有反應(yīng)時(shí)kbhit()會(huì)返回一個(gè)非零值 voidinputbox(void)/描繪兩個(gè)輸入框 inti; for(i=0;i=100&=280&=223&=280&=100&=280&=223&=280&=315)/取 消按鍵范圍 va
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版購(gòu)銷簡(jiǎn)單的合同范本
- 2025年度建筑照明材料采購(gòu)合同范本3篇
- 杭州公司合作合同范本
- 2024酒店勞動(dòng)合同模板
- 2025年度GRC構(gòu)件生產(chǎn)與裝配安全責(zé)任合同3篇
- 影視作品海外發(fā)行與推廣2025年度合同2篇
- 二零二五年度跨區(qū)域LNG管道運(yùn)輸及倉(cāng)儲(chǔ)服務(wù)合同3篇
- 2025年度電機(jī)維修智能化改造升級(jí)合同3篇
- 2025年度電子元器件專用紙箱采購(gòu)與倉(cāng)儲(chǔ)管理合同3篇
- 2024珠寶首飾租賃與購(gòu)買合同
- TD/T 1060-2021 自然資源分等定級(jí)通則(正式版)
- 人教版二年級(jí)下冊(cè)口算題大全1000道可打印帶答案
- 《創(chuàng)傷失血性休克中國(guó)急診專家共識(shí)(2023)》解讀
- 倉(cāng)庫(kù)智能化建設(shè)方案
- 海外市場(chǎng)開(kāi)拓計(jì)劃
- 2024年度國(guó)家社會(huì)科學(xué)基金項(xiàng)目課題指南
- 供應(yīng)鏈組織架構(gòu)與職能設(shè)置
- 幼兒數(shù)學(xué)益智圖形連線題100題(含完整答案)
- 七上-動(dòng)點(diǎn)、動(dòng)角問(wèn)題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論