亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minigui 體系結構之二 多窗口管理和控件及控件類.htm

?? 一種 操作系統 一種操作系統
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
     */
    struct _CONTROL* next;   // 下一個兄弟控件
    struct _CONTROL* prev;   // 前一個兄弟控件

    PCTRLCLASSINFO pcci;     // 指向控件所屬控件類結構的指針

} CONTROL;
typedef CONTROL* PCONTROL;
</PRE></TD></TR></TBODY></TABLE>
      <P>很顯然,只要將控件的回調函數地址進行替換,就可以非常方便地對控件進行子類化操作。值得一提的是,主窗口的結構定義和控件數據結構定義基本上是相同的,只是在某些成員上有一些小小的差別。</P><A 
      id=5 name=5></A>
      <P><STRONG class=subhead>5 輸入法模塊的設計</STRONG></P>
      <P>輸入法提供了將標準鍵盤輸入翻譯為適當語種的文字的能力。MiniGUI 
      中也包含有標準的中文簡體輸入法,包括全拼、五筆和智能拼音等等。MiniGUI 的輸入法是一個相對獨立的模塊(稱為 
      IME),它實際是一個特殊的主窗口。該主窗口將在啟動之后,首先將自己注冊為輸入法窗口。這樣,MiniGUI 的 desktop 
      就知道首先要將按鍵信息發送到這個主窗口之中,而不是當前的活動主窗口。當活動主窗口發生變化時,desktop 
      會通知輸入法窗口當前的活動窗口。這樣,當輸入法窗口接收到按鍵消息并且翻譯為適當的字符之后,就可以將其發送到當前的活動窗口。</P>
      <P>為了實現 desktop 和 IME 窗口之間的交互,MiniGUI 為輸入法窗口定義了如下消息,當活動窗口發生變化時,MiniGUI 會向 
      IME 窗口發送這些消息:</P>
      <UL class=noindent>
        <LI>MSG_IME_SETTARGET:發送該消息設置輸入法的目標活動窗口; 
        <LI>MSG_IME_OPEN:發送該消息告訴輸入法窗口,當前活動窗口是具有 WS_EX_IMECOMPOSE 
        擴展風格的窗口,所以應該顯示輸入法窗口。 
        <LI>MSG_IME_CLOSE:發送該消息告訴輸入法窗口,當前活動窗口不具有 WS_EX_IMECOMPOSE 
        擴展風格,所以應該隱藏輸入法窗口。 </LI></UL>
      <P>如果一個窗口要成為輸入法窗口,則必須完成如下工作:</P>
      <OL>
        <LI>注冊成為當前輸入法; 
        <LI>處理 MSG_IME_SETTARGE 消息,并記錄當前活動目標窗口; 
        <LI>翻譯按鍵并將翻譯后的結構通過 MSG_CHAR 消息發送到當前活動的目標窗口; 
        <LI>處理 MSG_IME_OPEN 和 MSG_IME_CLOSE 消息,在切換到需要輸入法的活動窗口時自動顯示輸入法窗口。 
      </LI></OL><A id=6 name=6></A>
      <P><STRONG class=subhead>6 小結</STRONG></P>
      <P>本文重點講述了 MiniGUI 中的窗口剪切處理算法。這是任何一個多窗口系統首先要解決的問題。然后,本文介紹了 MiniGUI 
      中控件類和控件的實現。最后介紹了 MiniGUI 中輸入法窗口的設計思路。</P><A id=7 name=7></A>
      <P><STRONG class=subhead>附:MiniGUI 的最新進展</STRONG></P>
      <P>2001 年元月 03 日,MiniGUI 的 0.9.98 版本發布。該版本包括一個我們專門針對 PDA 等嵌入式系統設計的 MiniGUI 
      版本,該版本稱為 MiniGUI-Lite。下面是對 MiniGUI-Lite 簡單介紹,將來我們還要撰文詳細介紹 
MiniGUI-Lite。</P>
      <P>大家都知道,MiniGUI 
      采用了基于線程的體系結構,并且建立了基于線程的消息傳遞和窗口管理功能。但是,在許多系統中,這種基于線程的結構并不是很好。這是因為一些眾所周知的原因造成的--Linux 
      線程,盡管可以提供最大程度上的數據共享,但卻造成了系統體系結構的脆弱。如果某個線程因為非法的數據訪問而終止運行,則整個進程都將受到影響。與線程結構相反的是采用傳統的 
      UNIX IPC 機制建立窗口系統,即類似 X Window 的客戶/服務器體系。這種體系結構有它的先天不足,主要是通常的 IPC 
      機制無法提供高效的數據復制,大量的 CPU 資源用于在各進程之間復制數據。在 PDA 等設備中,這種 CPU 
      資源的浪費將最終導致系統性能的降低以及設備耗電量的增加。</P>
      <P>為了解決 MiniGUI 版本因為線程而引入的一些問題,同時也為了讓 MiniGUI更加適合于嵌入式系統,我們決定開發一個 MiniGUI 
      Lite 版本。這個版本的開發目的是:</P>1. 保持與原先 MiniGUI 版本在源代碼級 98% 以上的兼容。 2. 不再使用 
      LinuxThreads。 3. 可以同時運行多個基于 MiniGUI Lite 的應用程序,即多個進程,并且提供前后臺進程的切換。 
      <P>顯然,要同時滿足上述三個目的,如果采用傳統的 C/S 結構對現有 MiniGUI 進行改造,應該不難實現。但前面提到的傳統 C/S 
      結構的缺陷卻無法避免。經過對 PDA 等嵌入式系統的分析,我們發現,某些 PDA 
      產品具有運行多個任務的能力,但同一時刻在屏幕上進行繪制的程序,一般不會超過兩個。因此,只要確保將這兩個進程的繪制相互隔離,就不需要采用復雜的 C/S 
      結構處理多個進程窗口之間的互相剪切。也就是說,在這種產品中,如果采用基于傳統 C/S 結構的多窗口系統,實際是一種浪費。</P>
      <P>有了上述認識,我們對 MiniGUI-Lite 版本進行了如下簡化設計:</P>1. 每個進程維護自己的主窗口 Z 
      序,同一進程創建的主窗口之間互相剪切。也就是說,除這個進程只有一個線程,只有一個消息循環之外,它與原有的 MiniGUI 
      版本之間沒有任何區別。每個進程在進行屏幕繪制時,不需要考慮其他進程。 2. 
      建立一個簡單的客戶/服務器體系,但確保最小化進程間的數據復制功能。因此,在服務器和客戶之間傳遞的數據僅限于輸入設備的輸入數據,以及客戶和服務器之間的某些請求和響應數據。 
      3. 有一個服務器進程(mginit),它負責初始化一些輸入設備,并且通過 UNIX Domain 套接字將輸入設備的消息發送到前臺的 
      MiniGUI Lite 客戶進程。 4. 
      服務器和客戶被分別限定在屏幕的某兩個不相交矩形內進行繪制,同一時刻,只能有一個客戶及服務器進行屏幕繪制。其他客戶可繼續運行,但屏幕輸入被屏蔽。服務器可以利用 
      API 接口將某個客戶切換到前臺。同時,服務器和客戶之間采用信號和 System V 信號量進行同步。 5. 服務器還采用 System V IPC 
      機制提供一些資源的共享,包括位圖、圖標、鼠標、字體等等,以便減少實際內存的消耗。 
      <P>現在你可以使用 MiniGUI-Lite 一次運行不止一個 MiniGUI 應用程序。我們可以從一個稱為 “mginit” 的程序中啟動其他 
      MiniGUI 程序。如果因為某種原因客戶終止,服務器可以繼續運行。在我們的發布版本中,有一個稱為 mglite-exec 的軟件包, 
      這個軟件包里有一個 mginit 程序, 該程序建立了一個虛擬控制臺窗口。我們可以從這個虛擬控制臺的命令行啟動該軟件包中其他的程序,甚至可以通過 
      gdb 調試這些程序。</P>
      <P>我們可以在 MiniGUI-Lite 程序中創建多個窗口,但不能啟動新的線程建立窗口。這是 MiniGUI-Lite 區別于 MiniGUI 
      原有版本的最大不同。除此之外,其他幾乎所有的 API 都和 MiniGUI 原有版本是兼容的。因此。從 MiniGUI 原有版本向 
      MiniGUI-Lite 版本的移植是非常簡單的。不信,請看 mglite-exec 包中的程序,其中所有的程序均來自 miniguiexec 
      包,而每個源文件的改動不超過 5 行。</P><A id=resources name=resources></A>
      <P><STRONG class=subhead>相關資源</STRONG></P>
      <UL>
        <LI><B>MiniGUI 資源</B> </LI></UL>
      <UL>
        <LI><A href="http://www.minigui.org/">MiniGUI 主頁</A> 
        <LI><A href="ftp://ftp.minigui.org/pub/minigui">MiniGUI FTP 站點</A> 
      </LI></UL>
      <UL class=noindent>
        <LI><B>MiniGUI 郵件列表</B> </LI></UL>
      <UL>
        <LI>發信:<A 
        href="mailto:minigui-devel@egroups.com">minigui-devel@egroups.com</A> 
        <LI>訂閱:<A 
        href="mailto:minigui-devel-subscribe@egroups.com">minigui-devel-subscribe@egroups.com</A> 

        <LI>解除訂閱:<A 
        href="mailto:minigui-devel-unsubscribe@egroups.com">minigui-devel-unsubscribe@egroups.com</A> 
        </LI></UL><A id=author name=author></A>
      <P><STRONG class=subhead>關于作者</STRONG><BR>魏永明(ymwei@minigui.org),男,27 
      歲,工學碩士,現任藍點軟件(深圳)有限公司北京研發中心技術主管。國內最有影響的自由軟件項目之一-- MiniGUI 
      的創始人以及主要開發人員。著有《Linux 實用教程》與《學用 Linux 與 Windows NT》,并主持翻譯了《Red Hat Linux 
      奧秘》、《Linux 編程寶典》 等大量優秀的 Linux 技術著作。是清華大學 AKA Linux 編程技術系列講座的主講人。</P><!-- table border="1" cellspacing="1" cellpadding="3">    <tr><td><font face="helvetica,helv,arial" size="-1">trademark or attribution statements (possibly with image) that are required for publishing or reprinting</font> </td></tr>    </table>--><!-- End paper --><BR></TD>
    <TD vAlign=top width=8><IMG height=1 alt="" 
      src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=8></TD></TR>
  <TR vAlign=top height=8>
    <TD vAlign=top colSpan=3></TD></TR>
  <TR vAlign=top height=8>
    <TD vAlign=top width=8><!-- gutter --></TD>
    <TD vAlign=top width=8><!-- comments #7: rate article form -->
      <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
        <TBODY>
        <TR>
          <TD width="100%" bgColor=#cc6633 height=3><IMG height=3 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=150 
        border=0></TD></TR>
        <TR>
          <TD width="100%" bgColor=#333333 height=1><IMG height=1 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=150 
        border=0></TD></TR>
        <TR>
          <TD width="100%" bgColor=#000000 height=1><IMG height=1 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=150 
        border=0></TD></TR>
        <TR>
          <TD width="100%" bgColor=#ffffff height=5><IMG height=5 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=150 
        border=0></TD></TR>
        <TR vAlign=top>
          <TD>
            <FORM 
            action=/developerWorks/cn/cnratings.nsf/RateArticle?CreateDocument 
            method=post><!-- comments #7: paste title here --><INPUT type=hidden 
            value="MiniGUI 體系結構之二 多窗口管理和控件及控件類" name=ArticleTitle> <!-- comments #7: paste zone here --><INPUT type=hidden value=Linux 
            name=Zone> <INPUT type=hidden value=簡體中文 name=region> <INPUT 
            type=hidden value=/developerWorks/cn/thankyou/feedback-linux.html 
            name=RedirectURL> <FONT face=helvetica,helv,arial 
            size=-1><B>您對這篇文章的看法如何?</B></FONT> 
            <P></P>
            <TABLE cellSpacing=0 cellPadding=0 width=570 border=0>
              <TBODY>
              <TR vAlign=top>
                <TD><INPUT type=radio value=5 name=Rating><FONT 
                  face=helvetica,helv,arial size=-1>真棒!</FONT></TD>
                <TD><INPUT type=radio value=4 name=Rating><FONT 
                  face=helvetica,helv,arial size=-1>好文章</FONT></TD>
                <TD><INPUT type=radio value=3 name=Rating><FONT 
                  face=helvetica,helv,arial size=-1>一般,尚可</FONT></TD>
                <TD><INPUT type=radio value=2 name=Rating><FONT 
                  face=helvetica,helv,arial size=-1>需提高</FONT></TD>
                <TD><INPUT type=radio value=1 name=Rating><FONT 
                  face=helvetica,helv,arial 
            size=-1>太差!</FONT></TD></TR></TBODY></TABLE><BR><FONT 
            face=helvetica,helv,arial size=-1><B>評價</B></FONT><BR><TEXTAREA name=Comments rows=3 wrap=virtual cols=52></TEXTAREA><BR><BR><INPUT type=submit value=提交反饋意見></FORM></TD></TR></TBODY></TABLE><!-- end rate article form --></TD>
    <TD vAlign=top width=8></TD></TR>
  <TR vAlign=top height=8>
    <TD vAlign=top 
colSpan=3></TD></TR></TBODY></TABLE><!-- end content --></TD></TR></TABLE><!-- ---------------footer------------------- -->
<TABLE cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR>
    <TD align=right width="100%" colSpan=2 height=30>(c) Copyright IBM Corp. 
      2001, (c) Copyright IBM China 2001, All Right Reserved</TD></TR>
  <TR>
    <TD width=150>
      <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
        <TBODY>
        <TR bgColor=#000000>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.ibm.com/privacy/"><FONT face="Arial, sans-serif" 
            color=#ffffff size=-1>隱私</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=20 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=1 border=0></TD>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.ibm.com/legal/"><FONT face="Arial, sans-serif" 
            color=#ffffff size=-1>法律</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=20 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=1 border=0></TD>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.cn.ibm.com/Main.nsf/HTMLS/aboutibm&amp;contactus"><FONT 
            face="Arial, sans-serif" color=#ffffff size=-1>聯系</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=21 alt="" 
            src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=1 
        border=0></TD></TR></TBODY></TABLE></TD>
    <TD width="100%" bgColor=#000000><IMG height=1 alt="" 
      src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/c.gif" width=1 
  border=0></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript1.2 src="MiniGUI 體系結構之二 多窗口管理和控件及控件類.files/stats.js" 
type=text/javascript></SCRIPT>
<NOSCRIPT><IMG height=1 alt="" 
src="D:\新建文件夾\MiniGUI 體系結構之二 多窗口管理和控件及控件類.files\c(2).gif" width=1 
border=0></NOSCRIPT> </BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品三级av| 欧美精品一区二区三区高清aⅴ| 调教+趴+乳夹+国产+精品| 日韩精品一区二区在线| 91麻豆国产福利精品| 日韩制服丝袜av| 亚洲人快播电影网| 亚洲欧洲三级电影| 欧美高清在线视频| 亚洲精品在线电影| 欧美一级理论片| 欧美一区二区三区小说| 欧美性videosxxxxx| 一本久久a久久精品亚洲| 国产成人精品网址| 国产成人啪免费观看软件 | 国产欧美一区二区三区沐欲| 欧美xxxxxxxxx| 精品国产91乱码一区二区三区| 在线不卡一区二区| 91社区在线播放| 色悠悠久久综合| 色综合天天做天天爱| 在线观看亚洲专区| 欧美年轻男男videosbes| 欧美一区二区在线视频| 日韩欧美中文字幕一区| 欧美www视频| 国产日产欧美精品一区二区三区| 国产欧美日产一区| 亚洲欧洲av色图| 午夜成人免费电影| 婷婷开心激情综合| 久久精品国产**网站演员| 国产美女精品在线| 激情文学综合丁香| 成人av电影在线| 欧美日韩成人综合天天影院 | 日本福利一区二区| 欧美色图激情小说| 精品国产一区二区三区久久影院 | 午夜激情综合网| 性久久久久久久| 久久se精品一区精品二区| 国产精品一区二区在线播放| 成人国产精品免费| 欧美午夜片在线观看| www激情久久| 一区二区三区欧美日韩| 另类欧美日韩国产在线| av一区二区三区在线| 欧美伊人久久久久久久久影院| 日韩视频在线一区二区| 成人欧美一区二区三区黑人麻豆 | 久久免费视频色| 国产精品进线69影院| 日韩一区欧美二区| 成人精品视频网站| 欧美精品久久一区二区三区| 中文天堂在线一区| 亚洲午夜久久久久久久久电影院| 国产在线国偷精品产拍免费yy| 91免费国产视频网站| 91精品一区二区三区在线观看| 国产精品久久二区二区| 美女国产一区二区三区| 日本道在线观看一区二区| 久久精品视频在线免费观看| 最新国产精品久久精品| 九九久久精品视频| 欧美日韩mp4| 亚洲精品网站在线观看| 精品一区二区三区免费毛片爱| 在线欧美小视频| 国产精品毛片无遮挡高清| 久久99精品久久只有精品| 91女人视频在线观看| 久久久综合九色合综国产精品| 日韩精品免费视频人成| 欧美视频一区二区三区四区| 综合亚洲深深色噜噜狠狠网站| 国产精品1区二区.| 精品少妇一区二区三区日产乱码 | 亚洲一区在线观看免费观看电影高清| 波多野结衣精品在线| 亚洲日本成人在线观看| 一本久久a久久精品亚洲| 夜夜爽夜夜爽精品视频| 在线成人午夜影院| 久久国产精品第一页| 欧美精品一区在线观看| 国产·精品毛片| 亚洲精品免费在线播放| 91麻豆精品国产| 国产精品一卡二| 亚洲欧美激情插| 91精品欧美福利在线观看| 国产一区二区电影| 亚洲欧美日韩国产中文在线| 欧美午夜精品免费| 久久99久久99小草精品免视看| 欧美激情一区二区三区四区| 在线亚洲高清视频| 精品一区二区三区在线播放视频| 国产精品午夜免费| 欧美精品丝袜中出| 国产不卡视频在线观看| 亚洲地区一二三色| 久久久精品tv| 欧美剧情片在线观看| 粉嫩av一区二区三区在线播放| 亚洲狠狠爱一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 成人av免费在线播放| 日本91福利区| 亚洲色图在线看| 精品国产一区a| 在线观看欧美日本| 国产91丝袜在线播放0| 图片区小说区国产精品视频| 国产精品国产a| 久久先锋影音av| 8x8x8国产精品| 色噜噜狠狠成人中文综合| 国产一区二区三区综合| 日本特黄久久久高潮| 一区二区三区四区在线| 国产婷婷一区二区| 欧美一区二区三区四区久久| 色综合久久综合网欧美综合网| 国产精品一二三四五| 美国十次了思思久久精品导航| 亚洲国产日韩一级| 自拍视频在线观看一区二区| 久久久久久毛片| 欧美岛国在线观看| 4438成人网| 欧美伊人久久大香线蕉综合69| 成人综合婷婷国产精品久久| 久草中文综合在线| 亚洲电影第三页| 香蕉加勒比综合久久| 亚洲国产成人高清精品| 亚洲尤物视频在线| 亚洲一区二区三区精品在线| 亚洲美女视频在线| 日韩美女视频19| 亚洲色图视频网| 亚洲激情中文1区| 一区二区三区四区国产精品| 亚洲男人的天堂一区二区| 国产精品三级av| 亚洲欧美日韩电影| 亚洲激情五月婷婷| 亚洲国产精品一区二区www| 亚洲午夜在线观看视频在线| 亚洲第一二三四区| 日本午夜一本久久久综合| 日韩 欧美一区二区三区| 另类欧美日韩国产在线| 国内外成人在线| 成人亚洲一区二区一| 成人污污视频在线观看| 一本大道av伊人久久综合| 欧洲一区二区三区在线| 91精品国产综合久久久久久| 日韩欧美高清一区| 欧美国产日韩a欧美在线观看| 中文字幕佐山爱一区二区免费| 亚洲裸体在线观看| 午夜不卡av免费| 国产真实乱对白精彩久久| 成人综合在线观看| 欧美色爱综合网| 欧美成人精精品一区二区频| 国产精品每日更新| 午夜精品福利一区二区蜜股av | 精品理论电影在线| 日本一区二区免费在线观看视频 | 欧洲一区在线电影| 91久久精品一区二区三区| 欧美日韩一区在线| 精品国产乱码91久久久久久网站| 国产日韩亚洲欧美综合| 亚洲自拍都市欧美小说| 狠狠色丁香久久婷婷综合_中| 成人av免费在线| 日韩亚洲欧美成人一区| 国产精品高潮呻吟| 老汉av免费一区二区三区| 国产成人aaa| 91精品在线一区二区| 亚洲国产精品精华液ab| 日韩中文字幕麻豆| av电影在线不卡| 精品免费国产一区二区三区四区| 成人欧美一区二区三区小说| 美洲天堂一区二卡三卡四卡视频| 懂色av一区二区三区蜜臀| 884aa四虎影成人精品一区|