• <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)論排行榜

            日日狠狠久久偷偷色综合0| 亚洲国产精品人久久| 国产A级毛片久久久精品毛片| 日韩电影久久久被窝网| 亚洲精品国产字幕久久不卡| 青青青国产成人久久111网站| 久久久久国产日韩精品网站| 久久亚洲sm情趣捆绑调教| 18岁日韩内射颜射午夜久久成人| 青青久久精品国产免费看| 九九99精品久久久久久| 久久精品青青草原伊人| 久久国产福利免费| 久久久久夜夜夜精品国产| 久久伊人精品一区二区三区| 丁香久久婷婷国产午夜视频| 精品熟女少妇AV免费久久| 欧美亚洲另类久久综合婷婷| 国产精品久久久天天影视香蕉| 漂亮人妻被中出中文字幕久久| 国产精品青草久久久久福利99| 九九久久自然熟的香蕉图片| 久久中文字幕精品| 久久亚洲国产精品123区| 亚洲一本综合久久| 亚洲国产精品热久久| 久久99国产亚洲高清观看首页 | 97精品伊人久久大香线蕉app| 久久99久久成人免费播放| 色偷偷888欧美精品久久久| 国产情侣久久久久aⅴ免费| 久久久亚洲欧洲日产国码二区| 色天使久久综合网天天| 一本色道久久99一综合| 久久这里只有精品首页| 久久亚洲AV成人无码电影| 精品国产乱码久久久久软件| 久久综合噜噜激激的五月天| 无码人妻久久一区二区三区免费 | 熟妇人妻久久中文字幕| 色偷偷88888欧美精品久久久|