• <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>
            隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
             
                 摘要: 眼下新的GUI Framework的第一版也就只剩下3個(gè)控件了。雖然之前說(shuō)過(guò)要開(kāi)發(fā)一個(gè)理論上是P2P上的遠(yuǎn)程對(duì)象交互協(xié)議、要開(kāi)發(fā)一個(gè)窗口設(shè)計(jì)器、還要開(kāi)發(fā)一個(gè)LALR Parser GUI作為GUI Framework的demo。我想這也是一個(gè)大的工程,對(duì)于我一個(gè)人來(lái)說(shuō)。但是今天的一個(gè)想法終于把這三個(gè)東西串了起來(lái)。  閱讀全文
            posted @ 2008-08-19 09:51 陳梓瀚(vczh) 閱讀(1812) | 評(píng)論 (5)編輯 收藏
                 摘要: Status Bar所提供的消息相當(dāng)?shù)脑幃悺tatus Bar里面的Items的數(shù)量以及寬度要一次性設(shè)置好,每次修改的時(shí)候都要推翻重建一次,只不過(guò)里面的Text倒是可以單獨(dú)改掉。在XP底下有效的raise border似乎在Vista就沒(méi)有了。看來(lái)Vista已經(jīng)從偽3D徹底轉(zhuǎn)向了2D了。

            Status Bar在CreateWindowEx的時(shí)候會(huì)自動(dòng)將自己放在窗口的最底下,每一次修改Status Bar的尺寸的時(shí)候,它又會(huì)自動(dòng)把自己放在窗口的最底下。當(dāng)然,你可以讓他出現(xiàn)在最上面。雖然如此,但是我封裝的時(shí)候還是想自由地修改尺寸和位置,當(dāng)且僅當(dāng)我想讓他出現(xiàn)在窗口最下面的時(shí)候他才出現(xiàn)在窗口最下面,于是我只好截獲Status Bar的WM_SIZE消息并扔掉了。

            當(dāng)初為每一個(gè)控件都自動(dòng)Subclass掉的想法還真是正確啊……  閱讀全文
            posted @ 2008-08-15 23:34 陳梓瀚(vczh) 閱讀(1551) | 評(píng)論 (1)編輯 收藏
                突然發(fā)現(xiàn)Visual Studio 2008的Class Diagram已經(jīng)支持到native c++了,遂喜,隨便點(diǎn)了一下namespace vl就View Class Diagram了。剛一點(diǎn)就后悔了,等了幾分鐘才出一張圖。然后我嘗試Export class diagram to image.

                剛開(kāi)始點(diǎn)*.emf,這是一種擴(kuò)展的元文件,文件里面實(shí)際上是一堆GDI命令。好了,這個(gè)文件一共有3M多,用畫(huà)圖打開(kāi)遲遲不出來(lái),以為操作失敗,后來(lái)打開(kāi)任務(wù)管理器一看,畫(huà)圖剛剛將使用的內(nèi)存增長(zhǎng)到400M,過(guò)了10分鐘才最終顯示。不過(guò)沒(méi)關(guān)系,我的電腦3G內(nèi)存,才用了1.7G死不了的……后來(lái)點(diǎn)*.jpg,就剩下2.7M了。

                因?yàn)橛X(jué)得挺有意思的,那么我就提供下載吧(點(diǎn)擊這里)。

                我的Vczh Library++已經(jīng)斷斷續(xù)續(xù)寫(xiě)了兩年多了,因?yàn)槲沂窃谝粋€(gè)GUI Test Project里面打開(kāi)的,所以一些其他功能譬如Vczh Free Script、正則表達(dá)式、上下文無(wú)關(guān)文法處理、新的XML Parser等跟GUI無(wú)關(guān)的部件不在里面。全都包含進(jìn)去的話(huà)估計(jì)會(huì)更大,我也不想試,搞垮電腦就不好了……不過(guò)從這張圖可以看出Vczh Library++是一種扁平結(jié)構(gòu)的。圖里面有很多類(lèi)是通過(guò)宏生成的,譬如GUI的每一個(gè)event object都用了一個(gè)宏產(chǎn)生了4個(gè)類(lèi),用于輕松綁定到多個(gè)普通函數(shù)、靜態(tài)函數(shù)和類(lèi)成員函數(shù)上。里面還有很多離散對(duì)象譬如enum啊、VL_WinListViewItem等等,非常多。最后可以清楚地看到目前GUI的進(jìn)度,也是一個(gè)扁平結(jié)構(gòu),繼承最長(zhǎng)的也不外是Button。因?yàn)閃in32API的WC_BUTTON類(lèi)功能強(qiáng)大啊,單選復(fù)選普通按鈕、GroupBox、SplitButton還有一種新的有箭頭的居然都是從里面產(chǎn)生出來(lái)的,于是繼承路徑就變成VL_Base -> VL_WinControl -> VL_WinCustomButton -> VL_WinButton了。

                下載的文件是一個(gè)rar包,包含一個(gè)jpg文件和一個(gè)從Class Diagram文件改過(guò)來(lái)的XML,包含了圖片所有的類(lèi)的全名(包括namespace),頗為壯觀……
            posted @ 2008-08-15 09:58 陳梓瀚(vczh) 閱讀(2217) | 評(píng)論 (8)編輯 收藏
                 摘要: Track Bar很是人性化,不會(huì)跟自己之前的經(jīng)驗(yàn)沖突。Track Bar下面那些杠杠原來(lái)是自己插入的,還能改,還真是想干啥就能干啥……  閱讀全文
            posted @ 2008-08-15 08:28 陳梓瀚(vczh) 閱讀(1772) | 評(píng)論 (1)編輯 收藏
                 摘要: Win32 API為了讓控件更為有用真是煞費(fèi)苦心,不僅Tab沒(méi)有提供控件可見(jiàn)控制,連Scroll Bar點(diǎn)擊的時(shí)候竟然是不修改Position的,要我在每一個(gè)消息里用SBM_SETSCROLLINFO來(lái)設(shè)置當(dāng)前的位置。而且當(dāng)前的位置的獲得還不是一致的,根據(jù)消息的不同而不同。真是故意為難人啊。  閱讀全文
            posted @ 2008-08-15 06:26 陳梓瀚(vczh) 閱讀(1432) | 評(píng)論 (1)編輯 收藏
                 摘要: 今天不小心看到了http://www.antlr.org/works/index.html,我一直認(rèn)為ANTLR是LR(k)分析器,后來(lái)我錯(cuò)了,原來(lái)只是LL(k)。我以前寫(xiě)的一個(gè)Vczh Syngram是LR(k)的畸形,今天看了居然連LL(k)都能有GUI,我不做一個(gè)豈不是對(duì)不起自己?  閱讀全文
            posted @ 2008-08-14 05:21 陳梓瀚(vczh) 閱讀(1626) | 評(píng)論 (2)編輯 收藏
                 摘要: 原來(lái)API提供的TabControl只是改改樣式而已,客戶(hù)區(qū)連TabPage標(biāo)簽也算在了里面,點(diǎn)擊不同的TabPage也不會(huì)自動(dòng)切換子控件的可見(jiàn)屬性。這些都要封裝啊囧……

            在這個(gè)設(shè)計(jì)里,雖然TabPage是一個(gè)普通的類(lèi),但是每一個(gè)TabPage都會(huì)自動(dòng)附帶一個(gè)Static Control,并在適當(dāng)?shù)臅r(shí)機(jī)修改大小以及修改可見(jiàn)屬性。子控件實(shí)際上需要放在TabPage的Static Control里,不然的話(huà)其實(shí)可以連TabPage標(biāo)簽都擋掉。  閱讀全文
            posted @ 2008-08-13 06:33 陳梓瀚(vczh) 閱讀(1717) | 評(píng)論 (2)編輯 收藏
                 摘要: 囧,實(shí)在是囧啊。比起ListView,TreeView還真是簡(jiǎn)單了無(wú)窮多倍,一個(gè)晚上就搞定了。貼貼代碼和圖。  閱讀全文
            posted @ 2008-08-11 05:05 陳梓瀚(vczh) 閱讀(2301) | 評(píng)論 (6)編輯 收藏
                 摘要: ListView實(shí)在是超級(jí)無(wú)敵復(fù)雜地難封裝啊,Vista下的ListView簡(jiǎn)直是萬(wàn)能的,以至于我萌生了將grid和tree-grid都用ListView來(lái)實(shí)現(xiàn)的想法。當(dāng)然這只是想一想,暫時(shí)不想做。這個(gè)ListView花了1700行代碼封裝完成,共有4個(gè)類(lèi),分別是item、column、group和listview,listview自己的事件16個(gè)。

            代碼和圖片內(nèi)詳  閱讀全文
            posted @ 2008-08-09 02:36 陳梓瀚(vczh) 閱讀(6694) | 評(píng)論 (27)編輯 收藏
                 摘要: 今天封裝好了ComboBox,于是做了個(gè)Demo。這個(gè)Demo只有一個(gè)窗口,上面放著一個(gè)ComboBox。如果往里面打文件名的話(huà),會(huì)把當(dāng)前路徑下的被篩選過(guò)的文件名填充到ComboBox,并自動(dòng)打開(kāi)下拉列表。  閱讀全文
            posted @ 2008-08-04 07:20 陳梓瀚(vczh) 閱讀(2232) | 評(píng)論 (3)編輯 收藏
            僅列出標(biāo)題
            共35頁(yè): First 25 26 27 28 29 30 31 32 33 Last 
            国产香蕉久久精品综合网| 伊人久久久AV老熟妇色| 国产 亚洲 欧美 另类 久久| 99热精品久久只有精品| 99国内精品久久久久久久| 99久久精品免费看国产一区二区三区| 天天做夜夜做久久做狠狠| 精品久久久久香蕉网| 亚洲国产成人精品91久久久 | 老男人久久青草av高清| 久久AV高潮AV无码AV| 久久久精品久久久久久 | 四虎影视久久久免费观看| 欧美国产成人久久精品| 狠狠色丁香久久婷婷综| 久久久国产乱子伦精品作者| 久久久久亚洲AV片无码下载蜜桃 | 青青青青久久精品国产| 2021久久国自产拍精品| 久久久久亚洲AV无码麻豆| 久久精品成人一区二区三区| 久久久一本精品99久久精品88| 香港aa三级久久三级| 亚洲AV无码1区2区久久 | 久久99精品九九九久久婷婷| 99re这里只有精品热久久| 午夜精品久久久内射近拍高清| 久久不射电影网| 狠狠色婷婷久久一区二区三区 | 精品久久久久香蕉网| 要久久爱在线免费观看| 久久这里的只有是精品23| 久久99久久99精品免视看动漫 | 色8久久人人97超碰香蕉987| 伊人久久综合无码成人网| 理论片午午伦夜理片久久| 午夜精品久久久久久影视riav| 国产精品狼人久久久久影院| 91精品国产色综合久久| 国产精品久久久久久久久| 97久久精品午夜一区二区|