• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            萬星星@豌豆莢 歡迎加入我們
            一個(gè)吃軟飯的男人!!!!!我只想寫程序####
            微博:http://weibo.com/wanlianwen
            posts - 172,  comments - 1253,  trackbacks - 0

            忙和了很久,學(xué)到很多東西,2007過得還算充實(shí),2008不知道是否可以逃過劫難,常常做惡夢(mèng),希望2008快快過去半年,哪時(shí)候是好是壞都有了結(jié)果。

            在2007年上半年,曾經(jīng)看到過Yahoo的新版本Messager的界面,非常的個(gè)性化,這類異形窗口效果是傳統(tǒng)窗口所無法實(shí)現(xiàn)的。而異形窗口的實(shí)現(xiàn)一般有兩種方法:1、通過SetWindowRgn 2、UpdateLayeredWindow。第一種方法很通用,但是做出的效果不是非常絢麗,由于計(jì)算機(jī)表達(dá)Rgn的局限,做出的界面時(shí)常有毛刺而影響視覺效果。UpdateLayeredWindow只實(shí)用于32位帶alpha通道的圖片,由于Windows直接拿圖片與桌面進(jìn)行疊加透明處理,所以窗口邊緣的毛刺一般可通過陰影消除掉。使用UpdateLayeredWindow后的窗口將不在響應(yīng)WM_PAINT消息,這是一個(gè)非常棘手的問題,解決辦法是創(chuàng)建一個(gè)頂層窗口用來承載子界面,將Layered窗口置于其下并控制其位置。加之之前的界面庫(kù),引入具有這樣特性的一類窗口也不是難事。

            當(dāng)然我的實(shí)現(xiàn)思想也是采取UpdateLayeredWindow:首先創(chuàng)建一個(gè)32位的和窗口大小一致的位圖,然后貼png圖片,繪制窗口界面元素,最后進(jìn)行窗口層更新,這樣就有了無窗口的一套界面解決方案。但是有時(shí)候,由于各種原因是需要常規(guī)Window的,所以還得把常規(guī)的窗口界面納入進(jìn)來。

            有了思路就開始動(dòng)手改造,下載其他的軟件研究,上網(wǎng)學(xué)習(xí)一些相關(guān)技術(shù)。用了兩天,基本移植進(jìn)來,此次用了GDIPlus,也不管tmd跨不跨平臺(tái)了。
            界面描述:

            <?xml version="1.0" encoding="utf-8"?>
            <Window>
                
            <VerticalLayout>
                    
            <Canvas height="38" bgimage="\App\res\top.png">
                  
            <VerticalLayout>
                    
            <HorizontalLayout></HorizontalLayout>
                    
            <HorizontalLayout height="32">
                      
            <VerticalLayout></VerticalLayout>
                      
            <VerticalLayout width="61">
                        
            <ImageButton normalimg="\App\res\btclose1.png" hotimg="\App\res\btclose2.png" downimg="\App\res\btclose3.png" tooltip="Close" name="close"></ImageButton>
                      
            </VerticalLayout>
                      
            <VerticalLayout width="25"></VerticalLayout>
                    
            </HorizontalLayout>
                  
            </VerticalLayout>
                
            </Canvas>
                
            <Canvas bgimage="\App\res\mid.png"></Canvas>
                
            <Canvas height="25" bgimage="\App\res\bottom.png"></Canvas>
                
            </VerticalLayout>
            </Window>


            下面是截圖:






            至于所謂的磨砂效果,其實(shí)就是blur模糊。由于UpdateLayerWindow只允許你提供一個(gè)自己的位圖,之后會(huì)自動(dòng)為你進(jìn)行圖片合成,合成方法無法參與,故想實(shí)現(xiàn)blur恐怕要大廢一番力氣,很可能要拋棄這套流出而模擬出一套。

            下一步工作就是創(chuàng)建一個(gè)頂層窗口,跟隨這個(gè)漂亮的外殼移動(dòng)了。之前的界面描述機(jī)制也自然可以進(jìn)來了。

            exe下載
            posted on 2008-01-04 00:43 萬連文 閱讀(5902) 評(píng)論(10)  編輯 收藏 引用 所屬分類: 小作品

            FeedBack:
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-04 08:11 | seoul
            看了你新的作品, 覺得非常不錯(cuò), 其實(shí)一直關(guān)注你的界面開發(fā), 覺得你應(yīng)該把這些東西整理好, 形成一個(gè)開發(fā)庫(kù),以供大家共享(付費(fèi)也是不錯(cuò)的方式), 如果能夠形成跨平臺(tái)的, 那是更好了, 成熟的商業(yè)庫(kù)如QT等, 都是不錯(cuò)的方向. 商業(yè)錢景也是不錯(cuò)的.  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-04 09:31 | <a href=http://minidx.com>minidxer</a>
            純粹的界面開發(fā)包商業(yè)化很難的
            包括QT在內(nèi)的“錢景”并不樂觀  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-04 10:08 | tip
            以前也考慮過,這個(gè)頂層窗口應(yīng)該是跟背景窗口分離的吧,實(shí)現(xiàn)起來還是有點(diǎn)難度  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-04 10:59 | 萬連文
            其實(shí)一直在學(xué)習(xí),整理中。所以進(jìn)度很慢,為了保證東西的完美以及解決方案的完備性,商業(yè)化考慮很少,只是追求技術(shù)上的優(yōu)美以及內(nèi)在的積累。有時(shí)候真的很羨慕美國(guó)的程序員,為了興趣寫程序。其實(shí)前景還是錢景,談?wù)摏]有意義,存在的就是合理的。對(duì)于跨平臺(tái),我是厭倦了,linux天生就做服務(wù)器挺好的,那個(gè)世界的人追求的是鍵盤的快感。


            其實(shí)做出這樣效果的窗口不難,關(guān)鍵是之后的界面元素的實(shí)現(xiàn)機(jī)制。  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-04 13:46 | 安帛偉
            效果挺棒的,可惜沒有源碼 :P  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-06 21:04 | 小笨象
            http://www.9ele.com/bbs/a/a.asp?B=400&ID=39
            看看。也許大家會(huì)有點(diǎn)體會(huì)。  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-01-06 22:12 | 萬連文
            看了這種方法,不過是自己去模擬ms的UpdateLayerWindow,這種做法,邊上的毛刺消除不了。  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-04-25 13:53 | 群挑王
            謝謝博主,我剛開始學(xué)做界面,受益匪淺哈  回復(fù)  更多評(píng)論
              
            # re: 界面庫(kù)納入新的窗口風(fēng)格(Vista)
            2008-09-10 09:51 | Daniel King
            用了UpdateLayerWindow后窗口里的控件用不了了,連自繪都沒法用了
            好像是不響應(yīng)WM_PAINT
            如果是個(gè)按鈕還能解決,如果是文本框不就麻煩了?

            請(qǐng)問博主如何處理的?  回復(fù)  更多評(píng)論
              
            簡(jiǎn)歷下載
            聯(lián)系我

            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(66)

            隨筆分類

            隨筆檔案

            相冊(cè)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            91精品国产高清久久久久久91 | 亚洲精品国产美女久久久| 蜜桃麻豆www久久| 国产V亚洲V天堂无码久久久| 伊人久久大香线蕉av不变影院| 亚洲国产日韩综合久久精品| 久久亚洲高清观看| 久久国产精品免费一区二区三区| 久久精品九九亚洲精品天堂| 91亚洲国产成人久久精品| 国产日韩欧美久久| 欧美久久综合九色综合| 久久久噜噜噜久久中文字幕色伊伊| 一级做a爰片久久毛片看看| 久久综合久久综合亚洲| 国内精品久久久久影院优| 国内精品欧美久久精品| 久久精品中文无码资源站| 国产亚洲色婷婷久久99精品| 久久久久久久综合日本亚洲| 欧洲性大片xxxxx久久久| 亚洲va久久久噜噜噜久久| 久久99精品国产一区二区三区| 狠狠精品干练久久久无码中文字幕| 欧美久久久久久午夜精品| 亚洲伊人久久精品影院| 久久99精品免费一区二区| 久久久久久久久波多野高潮| 国产精品久久久久久福利69堂| 久久精品一区二区三区中文字幕| 国产成人久久精品一区二区三区| 久久久国产精品福利免费| 亚洲精品视频久久久| 久久久久国产一级毛片高清版| 久久人人爽人人爽人人av东京热 | 久久99精品久久久久久齐齐| 久久综合88熟人妻| 国产成人综合久久精品红| 99久久免费国产精品| 72种姿势欧美久久久久大黄蕉| 三级韩国一区久久二区综合|