青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

萬(wàn)星星@豌豆莢 歡迎加入我們
一個(gè)吃軟飯的男人!!!!!我只想寫(xiě)程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0
 

初衷

一直希望VC開(kāi)發(fā)者能夠方便的開(kāi)發(fā)出細(xì)膩高品質(zhì)的用戶界面。我喜歡C++,選擇的平臺(tái)是Windows,所以大部分時(shí)間用VC。我自身不排斥其他技術(shù)或者開(kāi)發(fā)語(yǔ)言或者開(kāi)發(fā)工具,都去了解,了解的目的是想吸取好的思想補(bǔ)充VC開(kāi)發(fā)方面的不足。從事界面開(kāi)發(fā)方面的研究有5年了,學(xué)過(guò)很多,嘗試過(guò)很多,失敗過(guò)很多,但是沒(méi)有氣餒。感謝開(kāi)源,尤其是谷歌的Chrome開(kāi)源,使我再次提高。在論壇和代碼網(wǎng)站,都能看到一些界面方面作品,有源碼的也有純欣賞的,大多數(shù)一看上去還不錯(cuò),本地執(zhí)行就會(huì)發(fā)現(xiàn)粗糙的地方,不細(xì)膩,難以商業(yè)化使用。總體來(lái)講,國(guó)內(nèi)很難看到好的界面方面的開(kāi)源框架,優(yōu)秀公司也以此為傲,不斷引導(dǎo)界面潮流,使得其他一些公司模仿起來(lái)都累得喘氣。

 
界面開(kāi)發(fā)跟所有其他開(kāi)發(fā)一樣,都是有技術(shù)含量的,對(duì)于真正研究的人來(lái)說(shuō)應(yīng)該清楚。我在初期也遇到有人問(wèn)我:xp換膚不是挺好嘛?vista都出來(lái)了,還需要換膚嘛?win7很漂亮,完全不需要額外的界面開(kāi)發(fā)呀?我想一直界面代表了一個(gè)企業(yè)的標(biāo)識(shí)文化,比如qq的藍(lán)色以及企鵝,迅雷的動(dòng)態(tài)效果窗口和蜂鳥(niǎo)。有興趣研究沒(méi)錯(cuò),能做好更難得。

互聯(lián)網(wǎng)客戶端的特點(diǎn)是小巧靈,界面本身比較絢麗,背后依賴的界面引擎很重要。谷歌傾盡所有的開(kāi)源姿態(tài),是對(duì)微軟的一種挑釁,在互聯(lián)網(wǎng)方面我打敗了你,在傳統(tǒng)桌面上無(wú)法打敗,把自己優(yōu)秀的桌面代碼開(kāi)源出去聯(lián)合所有人來(lái)不斷孤立你。

Chrome開(kāi)源牽扯的其他開(kāi)源達(dá)30多個(gè),幾百個(gè)工程,一般的開(kāi)發(fā)者想要利用其中的部分功能需要花費(fèi)一些學(xué)習(xí)時(shí)間,要有移植大項(xiàng)目的經(jīng)驗(yàn)。這里我做的就是抽取其中的view部分,做出一個(gè)基本的開(kāi)發(fā)框架,斬?cái)噙^(guò)多的牽連,盡量利用Windows平臺(tái)的sdk,希望對(duì)渴望學(xué)習(xí)開(kāi)發(fā)者的或者有能力擴(kuò)展的公司有用。


背景

界面方面的研究,經(jīng)過(guò)了三個(gè)階段:傳統(tǒng)Win32窗口、Win32窗口的子類(lèi)化自繪、無(wú)窗口界面開(kāi)發(fā)(directui)。這三個(gè)階段有交集,大致還是按照時(shí)間推移不斷提高的。

第一階段:04-05年當(dāng)時(shí)處于研究生實(shí)習(xí)時(shí)期,在導(dǎo)師公司做gis平臺(tái)開(kāi)發(fā),對(duì)于界面要求不高,但也有一些定制性開(kāi)發(fā),那個(gè)時(shí)期基本上就是上codeproject,學(xué)習(xí)常規(guī)窗口編程技巧,那些api能做那些事,會(huì)引起什么效果,有那些附帶作用,久而久之就知道做一個(gè)效果最直接的辦法是組合那些api。當(dāng)時(shí)自繪的工作不多,但是長(zhǎng)時(shí)間的反復(fù)調(diào)用控件會(huì)讓人厭煩,當(dāng)時(shí)看了arcgis的平臺(tái)里面開(kāi)始使用網(wǎng)頁(yè)做一些界面,限于當(dāng)時(shí)的知識(shí),無(wú)法獲取研究的途徑。后來(lái)我知道了一個(gè)叫BCG的界面開(kāi)發(fā)庫(kù),從它開(kāi)始進(jìn)入了自繪階段。

第二階段:06-07年一開(kāi)始是對(duì)BCG界面庫(kù)的研究,說(shuō)起這件事,覺(jué)得泄露的代碼對(duì)我國(guó)軟件開(kāi)發(fā)水平的提高有很大幫助。BCG界面庫(kù)在當(dāng)時(shí)模擬的是office2003界面風(fēng)格,模擬的很像但它的代碼自身并不是非常清晰,模塊的劃分不一目了然。他在當(dāng)時(shí)是把開(kāi)源的CJLib打垮了,不過(guò)隨后又被CJLib的商業(yè)公司Codejoke干翻,直至最后跟VC8mfc弱弱聯(lián)合,倉(cāng)促間形成一個(gè)mfcx,就現(xiàn)在來(lái)看使用的公司很少。Codejokextp也是以泄漏的方式才能有機(jī)會(huì)學(xué)到,他的界面組件劃分比較合理,代碼很清晰,尤其是其中的skinframework框架,單獨(dú)拿出來(lái)編譯一個(gè)dll即可實(shí)現(xiàn)常規(guī)窗口的換膚,皮膚格式可以和xp的兼容。也是他,讓我徹底放棄常規(guī)窗口的子類(lèi)化自繪的工作,轉(zhuǎn)而是研究他的實(shí)現(xiàn),因?yàn)樗呀?jīng)做到極致。后來(lái)我08年的畢業(yè)設(shè)計(jì)也是以他為基礎(chǔ),題目是軟件構(gòu)造方面的,各種形式的界面插件構(gòu)造軟件框架。在這個(gè)時(shí)候qq已經(jīng)向無(wú)窗口發(fā)展了,這時(shí)候我得到了directui的概念,開(kāi)始了無(wú)窗口界面方面的研究。

第三階段:07-現(xiàn)在。最開(kāi)始是研究http://www.viksoe.dk/code/windowless1.htm這個(gè)開(kāi)源,相信很多人都知道也研究過(guò)。他抽象了一些無(wú)窗口的界面元素,翻譯常規(guī)窗口消息解釋并重新派發(fā)給無(wú)窗口元素,引入了一些ddraw特效,當(dāng)時(shí)能接觸到這樣的代碼很興奮,界面初看起來(lái)很震撼,尤其是主界面的動(dòng)畫(huà)效果。他也有很明顯的缺點(diǎn):不支持unicodepretytext的計(jì)算有問(wèn)題,本地窗口跟無(wú)窗口的布局混合會(huì)遮蓋。基于他,我做出了自己的第一個(gè)界面框架,并應(yīng)用在公司商業(yè)化產(chǎn)品中,可以從這里欣賞:http://m.shnenglu.com/wlwlxj/archive/2007/08/28/31014.html。由于他對(duì)Windows的封裝和無(wú)窗口元素的抽象并不是很強(qiáng)大,所以想要真正的用它做很強(qiáng)大的界面框架有困難,后來(lái)看qq、迅雷的界面,感覺(jué)到之前的界面元素并不通用,且缺少動(dòng)態(tài)的能力,有一些想法在這個(gè)帖中提及:http://hi.baidu.com/wlwel/blog/item/ad08bfc8108ff78dc9176808.html。我后來(lái)想自己可能需要的是網(wǎng)頁(yè)那種動(dòng)態(tài)能力的界面,對(duì)圖形圖像的處理,以及界面的動(dòng)態(tài)布局拖拽,我想起手里的Win2000泄漏代碼,于是乎開(kāi)始了一件瘋狂的事情:移植其中的ie部分代碼,只要其中的界面引擎,帶上css和濾鏡,支持各種交互事件,這就是我當(dāng)時(shí)的想法。歷時(shí)8個(gè)月,出來(lái)的成果:http://m.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html。這一次失敗了,沒(méi)法商業(yè)化應(yīng)用,有很多問(wèn)題,按鈕的焦點(diǎn)有1像素偏差,css由于那個(gè)ie版本比較低,非常有限且不規(guī)范,濾鏡由于一個(gè)組件創(chuàng)建不成功且無(wú)代碼沒(méi)法使用。整理的代碼有30多兆,代碼本身結(jié)構(gòu)不清晰,砍掉的地方也非常多且很亂,最終我也沒(méi)有能力去繼續(xù)修改。中間有很多次的放棄,又不服氣繼續(xù),最終走了下來(lái)。這一次研究對(duì)我最大的幫助就是在一個(gè)巨大的軟件代碼中,如何找到自己想要的東西,如何大刀闊斧的砍代碼。里面就像大觀園,技術(shù)很全,學(xué)到的東西太多太多。后來(lái)我意識(shí)到網(wǎng)頁(yè)有網(wǎng)頁(yè)布局的特點(diǎn),桌面軟件有桌面軟件的特點(diǎn),需要的地方互操作即可。接下來(lái),我又研究了幾個(gè)月comctl32部分,最后發(fā)現(xiàn)研究edit button需要走到ntuser部分,甚至想要朝顯卡驅(qū)動(dòng)調(diào)用方面走,就打住了,當(dāng)然也有一些成果:http://www.cnblogs.com/wlwel/archive/2010/05/10/1732160.html,是一個(gè)失敗的研究,但是學(xué)到了很多東西。有段時(shí)間我甚至刻意的躲避界面開(kāi)發(fā),直到后來(lái)接觸到Chrome瀏覽器,看了他的開(kāi)源。



針對(duì)
Chrome開(kāi)源所做的工作

Chrome開(kāi)源,主要是抽取其中的view部分代碼,依賴的有他的basegfxskiaapp部分,我把base分成了basemessage_frameworkrfc_algorithmskiagdiplus替換合并到gfxapp劃分到animationview_framework,去掉linux以及mac平臺(tái)的支持部分,去掉了一些不需要的功能比如網(wǎng)頁(yè)拖拽相關(guān),形成了一個(gè)最小的開(kāi)發(fā)框架,并修改了標(biāo)題欄自繪的一個(gè)bug。Base部分起初想用boost替換,后來(lái)發(fā)現(xiàn)工作量很大,還是沒(méi)敢做。截圖如下:

所有整理代碼下載


后續(xù)工作

繼續(xù)增加控件、功能、修改現(xiàn)有代碼中的一些注釋的問(wèn)題。接受所有的批評(píng)和建議,但不要人身攻擊。希望能看到更多其他人的作品,現(xiàn)在的開(kāi)源世界太豐富,很多東西不是接觸不到,而是肯不肯靜下心來(lái)研究。

注:工程是2005的,額外需要的頭文件<vsstyle.h> <vssym32.h>可以從vc2008sdk中拷貝或者任意其他地方下載。2008直接轉(zhuǎn)換即可編譯。

posted on 2011-03-20 00:24 萬(wàn)連文 閱讀(32469) 評(píng)論(31)  編輯 收藏 引用 所屬分類(lèi): 小作品

FeedBack:
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-20 01:18 | ballbillow
再次看到你寫(xiě)界面方面的技術(shù)文章,很期待哈,
讓我想到了自己剛開(kāi)始工作那會(huì)學(xué)習(xí)界面的情景,雖然每一步都沒(méi)有你研究都那么深入,現(xiàn)在也完全不做GUI方面的事情了,但是對(duì)GUI一直有一種情結(jié),呵呵
以前經(jīng)常和你聊天的,學(xué)習(xí)到不少東西,現(xiàn)在怎么QQ上沒(méi)有你了,奇怪  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-20 01:28 | ouyang
不錯(cuò)啊,繼續(xù)寫(xiě)下去
看過(guò)你前面的文章,感覺(jué)你真是挺能鉆研的。最后說(shuō)的也不錯(cuò),其實(shí)很多開(kāi)源或者泄露出來(lái)的代碼里面有非常多的好東西,就看你有沒(méi)有靜心下來(lái)研究了。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-20 10:12 | ccsdu2009
牛人就是這樣煉成的!  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-20 10:21 | liquanhai
很高興能看到樓主發(fā)表這么好的文章,我一直在用VC6,大家說(shuō)是windows98風(fēng)格的,呵呵,想研究一下QT,也沒(méi)有時(shí)間  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-20 14:45 | null
不錯(cuò),可以搞個(gè)開(kāi)源項(xiàng)目。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2011-03-20 15:58 | Lucifer
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-21 09:59 | boboman
實(shí)現(xiàn)DirectUI,可以參考upp的方法。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2011-03-21 12:22 | Jcily
頂你。關(guān)注

樓主很久沒(méi)有寫(xiě)博了。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2011-03-21 14:39 | avlee
這個(gè)主意不錯(cuò),什么想法導(dǎo)致使用gdiplus代替skia呢?  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-21 14:44 | 萬(wàn)連文
因?yàn)閟kia的代碼有好幾M,比起之外所有的代碼總量還要大幾倍,僅僅是因?yàn)檫@個(gè)原因。當(dāng)然,我在接口層面還是盡量維持,以防有人替換回去。skia不錯(cuò),作為安卓的底層圖形引擎,授權(quán)方式不是BSD的。gdiplus的很多概念以及編程接口都和skia一致。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2011-03-21 17:31 | Ken
樓主很能堅(jiān)持,贊

我也曾經(jīng)妄想重用ie5的泄漏代碼,但是看了數(shù)個(gè)星期后放棄了。呵呵

我對(duì)界面方面的經(jīng)歷和樓主很相似,只不過(guò)在知道 DirectUI 后,轉(zhuǎn)到一個(gè)跨平臺(tái)的Windowless UI 的開(kāi)源實(shí)現(xiàn) http://upp.sf.net,我們成功應(yīng)用并開(kāi)發(fā)了2個(gè)商業(yè)軟件

其內(nèi)有圖文混排等類(lèi)似HTML功能實(shí)現(xiàn),較為穩(wěn)定

關(guān)鍵其編程思想很有創(chuàng)意:嵌入png資源, Layout 實(shí)現(xiàn)方式等
當(dāng)然其代碼量在40W行的規(guī)模上,其作者是一群很低調(diào)、很老的人。
  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-21 18:46 | avatasia
@Ken
剛研究了ksafe的代碼,chromium的一年前也研究過(guò)。
gdiplus的東西,如果開(kāi)發(fā)輕巧的東西,用這個(gè)感覺(jué)不太好,部署起來(lái)又多了個(gè)dll。

關(guān)于圖文并排,ksafe的xml里較弱化的實(shí)現(xiàn)了這個(gè)功能,如果復(fù)雜點(diǎn),需要引入richedit控件,還是與directUI的思想有點(diǎn)偏差。

豆瓣的電臺(tái) 用了這么一套框架,OneRing + QT
http://code.google.com/p/onering-desktop/
我還沒(méi)時(shí)間去研究,感興趣的話,期待你的評(píng)價(jià)。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-21 18:57 | 萬(wàn)連文
@avatasia
也可以集成WebBrowser來(lái)實(shí)現(xiàn),我這邊做了一個(gè)電臺(tái)就是采取這種辦法。當(dāng)然,我還是想能多一些native的開(kāi)發(fā)能力,多一些技術(shù)選擇。集成flash或者網(wǎng)頁(yè),也是不錯(cuò)的方案。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-22 11:35 | 小不點(diǎn)
牛逼! 無(wú)窗口界面開(kāi)發(fā),是不是類(lèi)似于大多數(shù)游戲中的界面,幾乎與HWND這些無(wú)關(guān)了,自己繪制,自己處理消息??  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-22 17:13 | 小程
不錯(cuò),在Google reader里看到這篇文章,挺感興趣的,雖然主業(yè)不做UI開(kāi)發(fā),但是曾經(jīng)做過(guò),目前也在用QT,就來(lái)關(guān)注一下,加油,期待后續(xù)!  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-28 19:47 | Iron
堅(jiān)持做一件事,不斷追求,做到極致,樓主真人才也~~~  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-03-29 15:21 | 甘草
頂!我從CSDN過(guò)來(lái)的。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-04-10 00:04 | 游戲桔子
我也做UI,3-4年了。也研究過(guò)chrome的代碼過(guò)。做了一個(gè)簡(jiǎn)單的無(wú)窗口widget界面框架。不過(guò)沒(méi)樓主哪樣把整個(gè)給摳出來(lái)了。喜歡研究各式各樣的代碼。有收藏癖好。。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-06-01 10:17 | 李現(xiàn)民
兄弟你是完美的吧? 這個(gè)框架我在內(nèi)部bbs上見(jiàn)過(guò), 但rtx上怎么沒(méi)有你的名字呢?  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2011-06-01 13:12 | 萬(wàn)連文
@李現(xiàn)民
五月初我辭職了  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-06-02 09:43 | 李現(xiàn)民
@萬(wàn)連文
哈哈, 現(xiàn)在哪高就呢?  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2011-12-27 15:32 | 開(kāi)心日記
博主 很是佩服你的能力,我已經(jīng)認(rèn)真看了你寫(xiě)的經(jīng)驗(yàn)積累,也下載了你的作品,要好好學(xué)習(xí),呵呵,thank you  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2012-01-01 17:15 | 貝殼
1>------ 已啟動(dòng)生成: 項(xiàng)目: gfx, 配置: Debug Win32 ------
2>------ 已啟動(dòng)生成: 項(xiàng)目: view_framework, 配置: Debug Win32 ------
1>正在編譯...
2>正在編譯...
1>native_theme_win.cpp
2>dialog_client_view.cpp
2>正在編譯...
1>正在創(chuàng)建庫(kù)...
2>default_theme_provider.cpp
1>生成日志保存在“file://c:\Users\Will\Desktop\QVMKiller\gfx\Debug\BuildLog.htm”
1>gfx - 0 個(gè)錯(cuò)誤,0 個(gè)警告
3>------ 已啟動(dòng)生成: 項(xiàng)目: test_base, 配置: Debug Win32 ------
3>正在鏈接...
2>正在編譯...
2>drop_helper.cpp
2>正在編譯...
2>native_view_host_win.cpp
3>正在嵌入清單...
2>正在編譯...
2>native_view_host.cpp
2>正在創(chuàng)建庫(kù)...
3>生成日志保存在“file://c:\Users\Will\Desktop\QVMKiller\test_base\Debug\BuildLog.htm”
3>test_base - 0 個(gè)錯(cuò)誤,0 個(gè)警告
4>------ 已啟動(dòng)生成: 項(xiàng)目: test_view, 配置: Debug Win32 ------
4>正在鏈接...
4>LINK : fatal error LNK1104: cannot open file '../lib\lib_view_framework-vc80-mt-sd.lib'
4>生成日志保存在“file://c:\Users\Will\Desktop\QVMKiller\test_view\Debug\BuildLog.htm”
4>test_view - 1 個(gè)錯(cuò)誤,0 個(gè)警告
2>生成日志保存在“file://c:\Users\Will\Desktop\QVMKiller\view_framework\Debug\BuildLog.htm”
2>view_framework - 0 個(gè)錯(cuò)誤,0 個(gè)警告
========== 生成: 3 已成功, 1 已失敗, 4 最新, 0 已跳過(guò) ==========
  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2012-10-11 12:13 | Demon
請(qǐng)問(wèn)萬(wàn)兄,xframework是基于哪個(gè)版本的chrome ?
我想去下一個(gè), 然后比照學(xué)習(xí), 謝謝.
  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2012-10-11 15:16 | 萬(wàn)連文
@Demon
這個(gè)版本很老了,我自己也記不住,當(dāng)初最遺憾的就是沒(méi)有前瞻性,保持跟蹤,不過(guò)那樣又會(huì)源碼很大不便于學(xué)習(xí),有利有弊。如果你一時(shí)無(wú)法接受Chromium那么大工程,可以看xframework好了,小而干凈,學(xué)習(xí)起來(lái)更容易掌握。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2012-10-11 20:58 | Demon
@萬(wàn)連文
嗯,我喜歡小工程.今天下了一個(gè)最新的版本(太大了,壓縮包1.8G,展開(kāi)接近6G),然后又下了一個(gè)最早的版本,revision標(biāo)號(hào)1.0.154. 不過(guò)大的小的都是一頭霧水.

xframework的確是小而干凈的好東西, 方便上手. 今天發(fā)現(xiàn) examples/chrome 運(yùn)行有個(gè)bug, 就是點(diǎn) tab上的紅叉后, 屏幕沒(méi)有變化. 如果被關(guān)的是當(dāng)前focus,則立即空指針崩潰. 看了一下午,沒(méi)找到原因.  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2012-10-11 21:42 | 萬(wàn)連文
@Demon
那個(gè)工程剝離出來(lái)的不完整,僅僅用于學(xué)習(xí)參考,我也沒(méi)有繼續(xù)維護(hù)。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2013-07-11 16:10 | hikaruxx
你好,請(qǐng)問(wèn)豌豆莢的界面是不是也是基于x-framework,還是基于最新的chromium??  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇[未登錄](méi)
2013-08-09 14:15 | Brent
一直在疑惑迅雷等軟件的界面開(kāi)發(fā)方法。謝謝你的博客,讓我了解到了這一些GUI開(kāi)發(fā)知識(shí)。  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2014-09-27 11:17 | 余上
樓主,你是自己實(shí)現(xiàn)了NativeWidgetPrivate接口嗎?  回復(fù)  更多評(píng)論
  
# re: 基于Chrome開(kāi)源提取的界面開(kāi)發(fā)框架開(kāi)篇
2014-09-27 11:24 | 余上
看了一下您的代碼,貌似
https://code.google.com/p/x-framework/source/browse/trunk/library/view/widget/native_widget_win.h
是chromium庫(kù)中的文件吧。記得這個(gè)文件在以前的chromium代碼中是有的,貌似目前最新的chromium代碼中已經(jīng)沒(méi)有這個(gè)文件了。  回復(fù)  更多評(píng)論
  
簡(jiǎn)歷下載
聯(lián)系我

<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用鏈接

留言簿(66)

隨筆分類(lèi)

隨筆檔案

相冊(cè)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美大片一区二区三区| 亚洲精品国产无天堂网2021| 在线亚洲欧美| 亚洲视频欧美在线| 亚洲精品视频一区| 亚洲国产日韩一区| 99国产精品私拍| 亚洲愉拍自拍另类高清精品| 午夜国产精品视频| 久久久久国色av免费看影院| 毛片一区二区三区| 亚洲黄色成人网| 一本色道久久88综合日韩精品| 亚洲视频999| 久久精品国产第一区二区三区| 久久久久网址| 欧美大学生性色视频| 欧美日韩高清在线播放| 国产精品乱码一区二区三区| 国产日韩免费| 日韩午夜三级在线| 欧美在线视频播放| 亚洲高清不卡在线观看| 一本一本久久a久久精品综合妖精| 亚洲综合三区| 欧美激情第三页| 国产一区二区三区久久悠悠色av| 亚洲激情社区| 久久久久.com| 一本不卡影院| 蜜臀久久99精品久久久久久9 | 亚洲黄色在线视频| 亚洲视频在线观看| 欧美刺激性大交免费视频| 国产精品草草| 91久久精品日日躁夜夜躁欧美| 亚洲欧美国产制服动漫| 欧美国产精品专区| 亚洲欧美日韩电影| 欧美日韩精品一区二区在线播放| 国户精品久久久久久久久久久不卡| 亚洲精品之草原avav久久| 久久精品盗摄| 在线一区欧美| 欧美日韩成人一区二区三区| 好看的av在线不卡观看| 亚洲欧美国产77777| 亚洲电影在线播放| 久久久久久久久久码影片| 国产精品九九久久久久久久| 亚洲精品看片| 女女同性女同一区二区三区91| 亚洲欧美怡红院| 欧美日韩一二区| 日韩系列欧美系列| 亚洲免费福利视频| 一色屋精品视频免费看| 亚洲一区欧美| 国产精品99久久久久久久vr| 欧美片第1页综合| 日韩亚洲国产欧美| 亚洲国产人成综合网站| 美日韩丰满少妇在线观看| 伊人夜夜躁av伊人久久| 久久久国产一区二区三区| 亚洲欧美日韩中文视频| 国产精品一区二区女厕厕| 亚洲曰本av电影| 中文网丁香综合网| 国产精品免费区二区三区观看| 亚洲欧美影院| 午夜精品久久久久久99热| 国产网站欧美日韩免费精品在线观看| 先锋影音久久| 久久久久久国产精品一区| 亚洲国产裸拍裸体视频在线观看乱了中文| 免费观看在线综合色| 欧美岛国在线观看| 亚洲一区免费看| 欧美一级成年大片在线观看| 国产一区二区三区视频在线观看 | 欧美日韩国产综合视频在线| 一区二区三区免费看| 一区二区三区四区五区在线| 国产欧美大片| 免费成人高清视频| 欧美另类99xxxxx| 欧美一区2区三区4区公司二百| 午夜精品一区二区三区电影天堂 | 欧美亚洲一区二区在线| 国语自产偷拍精品视频偷| 亚洲国产精品成人| 国产精品亚洲综合色区韩国| 久久字幕精品一区| 欧美欧美全黄| 欧美一区三区三区高中清蜜桃| 久久久久天天天天| 亚洲一区二区三区激情| 久久电影一区| 正在播放亚洲| 久久精品一区二区三区不卡| 99精品国产一区二区青青牛奶 | 欧美极品aⅴ影院| 欧美在线日韩在线| 欧美精品日日鲁夜夜添| 先锋影院在线亚洲| 免费亚洲视频| 久久国产精品网站| 欧美日韩午夜| 亚洲第一福利在线观看| 国产色综合网| 日韩视频在线永久播放| 蘑菇福利视频一区播放| 国产精品毛片a∨一区二区三区| 久久久国产一区二区三区| 欧美激情中文字幕乱码免费| 久久精品99无色码中文字幕| 欧美日本三级| 欧美成年人在线观看| 国产精品综合网站| 日韩亚洲欧美成人一区| 亚洲国产综合91精品麻豆| 先锋影音网一区二区| 在线亚洲一区二区| 欧美freesex8一10精品| 久久先锋资源| 国产一区二区三区日韩| 亚洲视频在线二区| 一区二区三区 在线观看视频| 久久综合给合久久狠狠色| 久久久久久亚洲综合影院红桃| 欧美三级乱码| 99在线观看免费视频精品观看| 亚洲国产成人在线视频| 久久精品国产99国产精品| 欧美一区二区视频观看视频| 国产精品a久久久久| 亚洲美女电影在线| 一本色道久久综合亚洲二区三区 | 国产精品久久久久久久久果冻传媒 | 欧美日韩三级电影在线| 亚洲国产经典视频| 91久久精品国产91性色tv| 久久综合网络一区二区| 美女91精品| 亚洲国产毛片完整版| 欧美88av| 亚洲乱码国产乱码精品精可以看 | 99riav国产精品| 欧美精品一区在线播放| 亚洲国产小视频在线观看| 亚洲精品影院在线观看| 欧美精品v日韩精品v国产精品| 最近看过的日韩成人| 亚洲经典三级| 欧美人与禽性xxxxx杂性| 99国产精品| 欧美亚洲综合网| 韩日视频一区| 女人色偷偷aa久久天堂| 亚洲伦理精品| 欧美在线观看视频| 永久域名在线精品| 欧美好吊妞视频| 亚洲视频在线观看免费| 久久国产加勒比精品无码| 一区二区在线看| 欧美极品在线观看| 亚洲自拍偷拍网址| 欧美成人一区二区三区| 一区二区三区国产盗摄| 国产日韩精品视频一区| 免费欧美高清视频| 亚洲国产日韩欧美在线99| 亚洲午夜精品一区二区三区他趣| 一道本一区二区| 国产日韩一区欧美| 欧美电影电视剧在线观看| 亚洲午夜精品在线| 免费日韩精品中文字幕视频在线| 亚洲精品护士| 国产欧美三级| 欧美日韩福利视频| 久久久精品一品道一区| 亚洲精品免费一区二区三区| 羞羞色国产精品| 日韩视频一区二区| 国产午夜精品一区理论片飘花| 欧美成人免费大片| 欧美一区二区久久久| 亚洲精品国产精品久久清纯直播 | 欧美高清免费| 欧美在线免费一级片| 日韩网站在线观看| 激情欧美一区二区| 国产欧美精品va在线观看| 欧美日韩精品| 欧美成人第一页| 久久伊人精品天天| 欧美亚洲综合久久|