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

正文內(nèi)容

基于vcmfc程序設(shè)計(jì)簡(jiǎn)易畫圖板(編輯修改稿)

2024-12-13 08:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 dd() 。 打開(kāi)添加新提醒的窗體 新窗體中,獲取年月日時(shí)分秒,以及提醒方式,提醒內(nèi)容的信息,并存于鬧鐘結(jié)構(gòu)體數(shù)組中。值得說(shuō)明的是,年月日時(shí)分秒都是 int型變量,提醒方式也根據(jù)項(xiàng)目序號(hào),返回 int型變量,確定是哪一種方式。 完成后為鬧鐘編號(hào) +1 當(dāng)新窗口選擇 OK,則將結(jié)構(gòu)體數(shù)組中的數(shù)據(jù),格式化處理,在主窗口的 ListControl中增加一行。執(zhí)行刷新函數(shù)。 其中的關(guān)鍵算法是 : //將子窗口的值放入結(jié)構(gòu)體中 RemindData myAlarm_add。 //定義一個(gè)鬧鐘的結(jié)構(gòu)體 = 。 //將時(shí)間寫入結(jié)構(gòu)體 //其他數(shù)據(jù)類似寫入即可 myAlarm[AlarmIndex] = myAlarm_add。 //將添加的鬧鐘放入編號(hào)為 AlarmIndex的鬧鐘 //將子窗口中的值傳遞過(guò)來(lái) 13 CString strTime = (%Y%m%d %H:%M:%S )。//第一列,時(shí)間 //其他值也用此方式即可 //再通過(guò) switch語(yǔ)句將 【 類型 】 賦值給字符串 //給 List Control中添加項(xiàng)目 int nRow = (AlarmIndex, strTime)。//插入行 (nRow, 1, strAffair)。//設(shè)置內(nèi)容 (nRow, 2, strRemind)。//設(shè)置狀態(tài) (nRow, 3, strSel)。//設(shè)置類型 AlarmIndex++。 //最后還需要 鬧鐘數(shù)量自 增 1 。對(duì)提醒事項(xiàng)進(jìn)行修改操作。 OnButtonEdit() 先通過(guò) GetSelectionMark()函數(shù),獲取選中的行數(shù),鬧鐘編號(hào)于行數(shù)是對(duì)應(yīng)的 ,然后進(jìn)行 OnButtonAdd()函數(shù)的操作 。 打開(kāi)修改提醒的窗體,該窗體獲取年月日時(shí)分秒,以及提醒方式,提醒內(nèi)容的信息,并存于鬧鐘結(jié)構(gòu)體數(shù)組中。值得說(shuō)明的是,年月日時(shí)分秒都是 int型變量,提醒方式也根據(jù)項(xiàng)目序號(hào),返回 int型變量,確定是哪一種方式。 完成后為鬧鐘編號(hào)不變。 當(dāng)新窗口選擇 OK,則將結(jié)構(gòu)體數(shù)組中的數(shù)據(jù),格式化處理,在主窗口的 ListControl中選中行進(jìn)行 SetItemText()函數(shù)進(jìn)行內(nèi)容替換。執(zhí)行刷新函數(shù)。 。對(duì)提醒事項(xiàng)進(jìn)行刪除操作。 OnButtonDel()。 先通過(guò) GetSelectionMark()函數(shù),獲取選中的行數(shù),鬧鐘編號(hào)于行數(shù)是對(duì)應(yīng)的。 將該行進(jìn)行刪除,并且將選擇項(xiàng)后面每一個(gè)函數(shù)向前覆蓋,最后將鬧鐘總數(shù) 1 關(guān)鍵算法如下: int nItem = ()。//得到選中行的序號(hào) //將下一個(gè)鬧鐘覆蓋到前一個(gè) for (int i = 0。 i AlarmIndex1。 i++) { if (i = nItem) { myAlarm[i] = myAlarm[i+1]。 } } (nItem)。//刪除選中的行 AlarmIndex。 //讓鬧鐘減 1 } 獲取最近時(shí)鐘。 Time_Refresh() 獲取系統(tǒng)時(shí)間。將每個(gè)鬧鐘進(jìn)行如下操作,進(jìn)行循環(huán)。 將鬧鐘結(jié)構(gòu)體中 Ctime類的對(duì)象調(diào)出,用 CTimeSpan類的對(duì)象,將鬧鐘時(shí)間于系統(tǒng)時(shí)間相減,得到差值。如果差值大于 0且最小,則記錄下該鬧 鐘的編號(hào),存為最接近的鬧鐘。并且,將已經(jīng)超過(guò)系統(tǒng)時(shí)間,即與系統(tǒng)時(shí)間差值為負(fù)數(shù)的鬧鐘,將其中的提醒狀態(tài)設(shè)置為 True,14 即變成已提醒狀態(tài)。 其中關(guān)鍵算法如下: int i=0 , return_ID= 1。 //返回 =0為最近的鬧鐘編號(hào),返回 1為沒(méi)有最近鬧鐘 . CTime TimeCur = CTime::GetCurrentTime()。 CTime Time[50]。 for (i = 0。 i= AlarmIndex。 i++) { Time[i] = myAlarm[i].nTime。 //將結(jié)構(gòu)體中的時(shí)間取出來(lái) } CTimeSpan span。 long time_Near = 0 。 long diff。 //找到最接近的時(shí)間,并取最近鬧鐘的編號(hào) for( i=0 。 i= AlarmIndex 。 i++) { span = Time[i] TimeCur。 diff = ()。 if( diff = 0 ) { if ( diff time_Near ) { time_Near = diff。 //將最小的差值復(fù)制給相差時(shí)間 return_ID = i 。 //獲取最近鬧鐘的編號(hào) } else continue。 } return(return_ID)。 //獲取最接近的鬧鐘編號(hào) 最近時(shí)鐘對(duì)比系統(tǒng)時(shí)間 AlarmNear_Cmp( int AlarmNum ) SetTimer()設(shè)置一個(gè)計(jì)時(shí)器。每一秒,進(jìn)行 OnTimer()函數(shù)中的該函數(shù)。該函數(shù)先獲取系統(tǒng)時(shí)間,然后再將鬧鐘時(shí)間與系統(tǒng)時(shí)間進(jìn)行做差值,差值中為 0,則可以認(rèn)定為時(shí) 間到。然后根據(jù)該鬧鐘的類型,通過(guò) Switch語(yǔ)句,調(diào)用開(kāi)機(jī),關(guān)機(jī),響鈴,重啟,開(kāi)啟程序,注銷,鎖定等操作。 進(jìn)行完操作后,對(duì)鬧鐘進(jìn)行刷新 Time_Refresh操作 關(guān)鍵算法如下: CTime TimeCur = CTime::GetCurrentTime()。 //獲取系統(tǒng)時(shí)間 CTimeSpan span = myAlarm[ AlarmNum ].nTime TimeCur。 //將時(shí)間與系統(tǒng)時(shí)間相減 long diff = ()。 if ( diff == 0) { //新建一個(gè)提示框 CTips *tipsWindow。 tipsWindow = new CTips。 15 tipsWindowCreate(IDD_DIALOG3,GetDesktopWindow())。//創(chuàng)建時(shí),將窗口的父類設(shè)成桌面 CString strTips。 switch( myAlarm[ AlarmNum ].nType ) { case 0: Alarm_Ring( AlarmNum )。 //進(jìn)行鬧鈴的函數(shù) break。 case 1:? ? default: .. } 。勾選該選項(xiàng),可以讓此小助手在系統(tǒng)開(kāi)機(jī)時(shí)啟動(dòng)。 OnStart() 首先需要判斷該選框?qū)?yīng)變量的 Bool值。如果為真,則打開(kāi)注冊(cè)表,找到開(kāi)機(jī)啟動(dòng)的目錄,將該程序的路徑放入其中。關(guān)閉注冊(cè)表。如果為假,則打開(kāi)注冊(cè)表,找到開(kāi)機(jī)啟動(dòng)的目錄,刪除該程序?qū)?yīng)的鍵值。 關(guān)鍵算法如下: if (m_IsStart)//判斷是否選擇了開(kāi)機(jī)啟動(dòng) { HKEY hKey。 //找到系統(tǒng)的啟動(dòng)項(xiàng) LPCTSTR lpRun = Software\\Microsoft\\Windows\\CurrentVersion\\Run。 //打開(kāi)啟動(dòng)項(xiàng) Key long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, amp。hKey)。 if(lRet == ERROR_SUCCESS) { char pFileName[MAX_PATH] = {0}。 //得到程序自身的全路徑 DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH)。 //添加一個(gè)子 Key,并設(shè)置值 // 下面的 Assistant是應(yīng)用程序名字(不加后綴 .exe) lRet = RegSetValueEx(hKey, Assistant, 0, REG_SZ, (BYTE *)pFileName, dwRet)。 RegCloseKey(hKey)。 //關(guān)閉注冊(cè)表 if(lRet != ERROR_SUCCESS) //提示信息 { AfxMessageBox(系統(tǒng)參數(shù)錯(cuò)誤 ,操作失 敗 6)。 } else { AfxMessageBox(成功設(shè)置開(kāi)機(jī)啟動(dòng) !)。 } } else{?? } //進(jìn)行刪除該啟動(dòng)項(xiàng)的操作,使用 RegDeleteValue()函數(shù) 。勾選該選項(xiàng),可以在桌面顯示當(dāng)時(shí)時(shí)間。 OnClock() 16 新建一個(gè)鬧鐘類。 鬧鐘類是一個(gè)窗口。該窗口,包含一個(gè)靜態(tài)文本框。在初始化該窗口時(shí),先設(shè)置文本的顏色為綠色,將背景的顏色設(shè)置為灰色。再將灰色設(shè)置為透明,則實(shí)現(xiàn)了鏤空的桌面時(shí)鐘。 在時(shí)鐘顯示這個(gè)部分,我們?cè)O(shè)計(jì)了 一個(gè)名為“ CClock”的類,用來(lái)在桌面顯示時(shí)間。使用 CTime::GetCurrentTime()語(yǔ)句來(lái)獲取系統(tǒng)當(dāng)前時(shí)間。通過(guò) if(nCtlColor==CTLCOLOR_EDIT||CTLCOLOR_STATIC) { pDCSetTextColor(RGB(63,192,69))。 pDCSetBkColor(RGB(183,94,28))。 BRUSH A=CreateSolidBrush(RGB(183,94,28))。 return A。 } 對(duì)窗體的顏色和字體的顏色進(jìn) 行 調(diào)整,在把背景和窗體背景調(diào)整為一個(gè)顏色后, fun(thisGetSafeHwnd(),RGB(183,94,28),220,1)。 再將和那個(gè)顏色完全相同的數(shù)值進(jìn)行鏤空處理,使得起背景變?yōu)橥该?。?duì)背景進(jìn)行鏤空 設(shè)計(jì)使時(shí)間看起來(lái)比較美觀同時(shí)不影響日常的使用。最后進(jìn)行存儲(chǔ)設(shè)置。 。勾選該選項(xiàng),可以具有鼠標(biāo)穿透功能 OnMouse() 設(shè)計(jì)一個(gè) OnMouse()的類,使用 Check box的控件。 令一個(gè)名為 MouseThrough 的函數(shù)使時(shí)間窗口被鎖定,這樣既可以透過(guò)時(shí)間窗體 進(jìn)行操作,同時(shí)也不會(huì)把窗體來(lái)回拖動(dòng)來(lái)影響日常的使用。最后進(jìn)行存儲(chǔ)設(shè)置。 m_MyDeskClockMouseThrough(m_IsMouseThrough)。 //鼠標(biāo)前置的函數(shù) 。勾選該選項(xiàng),可以具有時(shí)鐘前置在別的窗口之上的功能。 OnFront() 設(shè)計(jì)了一個(gè) OnFront()的類,使用 Check box的控件。 設(shè)計(jì)了一個(gè) FrontWindow 的函數(shù)來(lái)進(jìn)行時(shí)間前置使桌面時(shí)間可以時(shí)刻顯示在屏幕上。最后進(jìn)行存儲(chǔ)設(shè)置。 ??梢杂脩糇约涸O(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置 實(shí)現(xiàn)鬧鈴提醒,還可設(shè)置提醒內(nèi)容。 Alarm_Ring() Beep(262, t) Beep函數(shù),設(shè)置聲音頻率,持續(xù)時(shí)間,使蜂鳴器響 ??梢杂脩糇约涸O(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置實(shí)現(xiàn)開(kāi)啟指定程序,并可以附加屬性值。 Alarm_Software() 使用 ShellExecute()函數(shù),將路徑的字符串,參數(shù)的字符串填入,就可以啟動(dòng)該程序了 ??梢杂脩糇约涸O(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置實(shí)現(xiàn)關(guān)機(jī) Alarm_Shutdown() 使用 InitiateSystemShutdown(NULL,NULL,20,FALSE,FALSE)。函數(shù),設(shè)置好關(guān)機(jī)倒計(jì)時(shí)秒數(shù),并且在關(guān)閉后不進(jìn)行啟動(dòng)。 。可以用戶自己設(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置實(shí)現(xiàn)注銷 Alarm_Restart() 17 ::ExitWindowsEx(EWX_LOGOFF,0)。 即可調(diào)用 windows的注銷函數(shù)進(jìn)行注銷。 ??梢杂脩糇约涸O(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置實(shí)現(xiàn)重啟 Alarm_Logoff() 使用 InitiateSystemShutdown(NULL,NULL,20,FALSE,FALSE)。函數(shù),設(shè)置好關(guān)機(jī)倒計(jì)時(shí)秒數(shù),并且在關(guān)閉后不進(jìn)行啟動(dòng)。 。可以用戶自己設(shè)定時(shí)間 ,到時(shí)可以根據(jù)用戶設(shè)置實(shí)現(xiàn)鎖定 Alarm_Lock() 該操作需要調(diào)用動(dòng)態(tài)鏈接庫(kù),使用 windows系統(tǒng)內(nèi)的鎖定功能 。關(guān)鍵算法如下: 先聲明 HMODULE類型,以及 PROC類型的對(duì)象,通過(guò) GetModuleHandle()調(diào)出動(dòng)態(tài)鏈接庫(kù),使用 GetProcAddress(hUser32dll,LockWorkStation)??蓪㈡i定計(jì)算機(jī)的函數(shù)調(diào)出。 。在啟動(dòng)鬧 鐘時(shí),在桌面右下角彈出窗口,提示當(dāng)前備忘內(nèi)容。 首先,將窗口的長(zhǎng)寬高導(dǎo)入 CRet類的對(duì)象中。設(shè)置好每次上升的高度。通過(guò)屏幕的坐標(biāo),設(shè)置一個(gè)計(jì)時(shí)器,在一定時(shí)間后,將窗口向上移動(dòng)一點(diǎn),最終到達(dá)需要到的位置。 其中使用到的關(guān)鍵函數(shù)有: ::GetSystemMetrics(SM_CXSCREEN)。獲取屏幕像素;MoveWindow()移動(dòng)窗體位置 刷新??梢允謩?dòng)刷新鬧鐘。 Time_Refresh()刷新時(shí)間 調(diào)用 Time_Refresh()函數(shù)即可。 退出。提示是否退出程序。 OnCancel() 6 數(shù)據(jù)描述 類的名稱 類的說(shuō)明 類的屬性 類的操作 名稱 類型 說(shuō)明 CAss
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1