OSD (On Screen Display) |
答題得分者是:axsoft
|
superyakoo
一般會員 發表:1 回覆:0 積分:0 註冊:2003-01-02 發送簡訊給我 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
引言: 我想做一個類似電視機調整音量大小時, 畫面會出現一個 綠色的 BAR 由很多小線條組成, 隔一段時間後綠色 BAR 會自動消失. 這種 OSD 程式要怎麼寫呢?给你一個Idea: 1.綠色的Bar使用TProgressBar來處理音量的大小顯示 2.將你的綠色的Bar放在自定的 Message Form中然後使用SHAppBarMessage API 來控制message Form的出現與消失. 3.SHAppBarMessage可以空制Form的定點位置. 4.MS 應用程式中處處可以看得到SHAppBarMessage的蹤跡喔!...如:MS Office/MSN/eMule....等等 5.關於SHAppBarMessage的應用可以在站內Search一下文章,或者去下載eMule的Source Code http://emule.sourceforge.net/ 參考參考 網路志工聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]--- |
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
這裡也有VC的文章給您參考
http://www.codeproject.com/shell/trayposition.asp?print=true 網路志工聯盟----Visita網站http://www.vista.org.tw
---[ 發問前請先找找舊文章 ]---
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
引言: 我想做一個類似電視機調整音量大小時, 畫面會出現一個 綠色的 BAR 由很多小線條組成, 隔一段時間後綠色 BAR 會自動消失. 這種 OSD 程式要怎麼寫呢?HDC ScreenDC=GetWindowDC(0); TmpBmp->Width =TScreen::Width; TmpBmp->Height=TScreen::Height; // SAVE 原始畫面 BitBlt(TmpBmp->Canvas->Handle,0,0,TmpBmp->Width,TmpBmp->Height, ScreenDC,0,0,SRCCOPY ); // Draw Green Bar RECT R; R.left = 0; R.Top = 0; R.Right = 100; R.Bottom = 24; HBRUSH hbr=CreateSolidBrush(0x00ff00); FillRect(ScreenDC,@R,hbr); // 隔一段時間後綠色 BAR 會自動消失 for (int i=0 ; i<1000;i ) { Application->ProcessMessages; } //還原 原始畫面 BitBlt(ScreenDC,0,0,TmpBmp->Width,TmpBmp->Height, TmpBmp->Canvas->Handle,0,0,SRCCOPY); ReleaseDC(0,ScreenDC);
------
︿︿ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |