• <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>

            PPC Today界面的開發(fā)心得

               這兩天為解決PPC Today界面的顯示問題著實(shí)費(fèi)了不少腦筋。主要有三個(gè)問題:
               1. 點(diǎn)擊條目后高亮顯示,點(diǎn)擊其他條目后取消高亮顯示問題。
               2. 按上下鍵選擇條目后,條目不高亮顯示的問題。
               3. 由于Today界面中的條目字體大小是按照系統(tǒng)設(shè)置的,是可變的,因此就遇到一個(gè)獲取系統(tǒng)字體大小的問題。

               前兩個(gè)問題的高亮顯示,是依靠標(biāo)志位來繪制的,獲取到條目被選中后,就置標(biāo)志位為TRUE,否則置為FALSE,然后會進(jìn)行重繪。重繪時(shí),依靠標(biāo)志位來判斷是否需要高亮繪制條目。獲取條目的顏色使用的是TODAYM_GETCOLOR消息,通過發(fā)送這個(gè)消息,可以獲取條目的普通和高亮的顏色。

               關(guān)于按上下鍵選擇。MSDN Online上說,會觸發(fā)WM_TODAYCUSTOM_USERNAVIGATION事件。但是,我在做時(shí),并沒有觸發(fā)該事件。后來發(fā)現(xiàn),該事件的觸發(fā)條件與TODAYLISTITEM中的dwSelectability設(shè)置有關(guān),具體可參照http://www.codeguru.com/cpp/w-p/ce/pocketpc/article.php/c9269__1/。具體做法是在WM_TODAYCUSTOM_QUERYREFRESHCACHE事件中截獲TODAYLISTITEM結(jié)構(gòu)體,并將其中的dwSelectability設(shè)置為2。TODAYLISTITEM的參數(shù)意義見下表:
            Value Name and Type Description
            DWORD: Type Custom Items must have Type = 4
            DWORD: Enabled 0 or 1; 1 causes Today panel to show your component; nevertheless, the user can control it via the Today applet in the Control Panel
            DWORD: Options if equals 1, the "Options" button in the Today applet will be enabled
            SZ: DLL Pull path to your component
            DWORD : Selectability New feature in Win Mobile 2003 SE; allows receiving additional notifications
            Values are used as follows:
            • 0 or does not exist—component cannot be selected at all
            • 1—selections are manages automatically. In other words, your component will receive messages like WM_LBUTTONXXX
            • 2—the Today screen will send notification messages to your component when the user sets/releases focus or presses navigation keys

               對于上下鍵選擇,需要注意的是,處理完WM_TODAYCUSTOM_USERNAVIGATION事件后,需要返回FALSE,以使系統(tǒng)進(jìn)行其他操作,否則,再按上下鍵就不會上下移動。

               關(guān)于字體大小的設(shè)置,處理源代碼如下:
             1LOGFONT lf;
             2memset(&lf,0,sizeof(LOGFONT));
             3int iFontSizePixel;
             4SHGetUIMetrics(SHUIM_FONTSIZE_PIXEL,&iFontSizePixel, sizeof(iFontSizePixel), NULL);
             5lf.lfHeight = -iFontSizePixel;
             6HFONT hNewFont = CreateFontIndirect(&lf);
             7HGDIOBJ hOldFont = SelectObject(hdc, hNewFont);
             8 
             9DrawText(hdc , theApp.m_strBarText , theApp.m_strBarText.GetLength() , 
            10            &rect , DT_VCENTER | DT_LEFT | DT_INTERNAL);

               Selectability參數(shù)被設(shè)置為2后,需要處理WM_TODAYCUSTOM_ACTION消息,來啟動程序。

            posted on 2007-07-13 17:43 迷宮の未來 閱讀(1023) 評論(9)  編輯 收藏 引用

            評論

            # re: PPC Today界面的開發(fā)心得 2007-10-22 17:09 GG

            樓主寫的不錯(cuò)。
            不過,我覺得,干嘛一定要把dwSelectability設(shè)為2,自己來處理選中焦點(diǎn)事件呢?把他設(shè)置為1,交給系統(tǒng)去處理得了。我目前就是這么做的,效果也差不多。就是選中的時(shí)候,字的顏色,不太好處理。也就是,在選中的時(shí)候,文字的顏色,有時(shí)候不變,有時(shí)候要取反色。不知道樓主對文字的顏色是怎么處理的?  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2007-10-23 11:08 周輝

            @GG
            把dwSelectability設(shè)為2就是為了解決按上下鍵選擇條目時(shí)的未反色問題。關(guān)于反色及字體顏色問題,MOBILE5.0和MOBILE6.0系統(tǒng)的做法是不同的,在MOBILE6中設(shè)置不同的主題對應(yīng)選中的反色后字體顏色是不同的,MOBILE5好像就沒有這中設(shè)置。  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2007-12-20 10:20 cohere

            我最近也在研究today界面的,希望和LZ多多交流,
            我的MSN:wangguolai@tom.com  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2008-01-20 22:38 西煞魄工人

            謝謝LZ  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2008-03-12 11:21 cohere

            字體的大小怎么改變啊?

            wangguolai@tom.com   回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2008-03-12 11:29 cohere

            字體的大小怎么變大呢?

            wangguolai@tom.com   回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2008-03-20 15:47 追夢時(shí)代

            @cohere
            字體大小是在系統(tǒng)設(shè)置中設(shè)置主題字體大小的,程序中沒法設(shè)置  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得[未登錄] 2008-08-07 14:48 stone

            如何提高today界面的 刷新速度啊?  回復(fù)  更多評論   

            # re: PPC Today界面的開發(fā)心得 2010-09-20 18:36 adler

            我設(shè)置的是1。

            case WM_LBUTTONDOWN:

            ::PostMessage(::GetParent(m_hWnd), TODAYM_TOOKSELECTION, (WPARAM)m_hWnd, 0);

            可就是收不到WM_TODAYCUSTOM_USERNAVIGATION消息,

            為什么呢?
            MSN:adler0518@live.cn  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(10)

            隨筆檔案

            文章檔案

            最新隨筆

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            无码人妻久久一区二区三区蜜桃| 久久国产精品成人免费| 好属妞这里只有精品久久| 人妻无码久久一区二区三区免费 | 久久天天躁夜夜躁狠狠躁2022 | 色8激情欧美成人久久综合电| 国产成人精品久久免费动漫| 精品蜜臀久久久久99网站| 色综合久久中文字幕无码| 亚洲色欲久久久综合网东京热| 欧美一级久久久久久久大| 欧美亚洲日本久久精品| 一本大道久久东京热无码AV| 国产精品久久久久久久人人看 | 丁香色欲久久久久久综合网| 久久婷婷五月综合97色直播 | 一本一本久久A久久综合精品| 久久人人爽人人爽人人片AV高清 | 777米奇久久最新地址| 国产美女久久精品香蕉69| 精品久久一区二区| 国产高清国内精品福利99久久| 精品99久久aaa一级毛片| 久久久久综合中文字幕 | 久久中文字幕人妻丝袜| 色播久久人人爽人人爽人人片AV| 久久久久亚洲av成人网人人软件| 中文国产成人精品久久不卡| 久久综合给合久久狠狠狠97色69| 国产精品久久网| 久久久精品久久久久特色影视| 亚洲综合久久久| 久久精品亚洲精品国产色婷| 精品久久久久久久| 久久国产AVJUST麻豆| 久久久久人妻精品一区二区三区 | 精品久久久无码中文字幕| 少妇久久久久久被弄到高潮 | 伊人久久五月天| 久久最近最新中文字幕大全| 日韩va亚洲va欧美va久久|