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

            技術(shù)備忘錄

            c++及圖形學(xué)

             

            C++中嵌入ie瀏覽器總結(jié)(4) - 對(duì)話框拖動(dòng)

                 前面忘了寫(xiě)這個(gè)問(wèn)題,就是對(duì)話框的拖動(dòng)問(wèn)題。就像我前面的圖片展示的對(duì)話框,一般的windows對(duì)話框是可以拖著標(biāo)題欄移動(dòng)的,但是我們這里沒(méi)有任何原來(lái)的標(biāo)題欄了,只有html頁(yè)面,怎么拖呢? 好像有點(diǎn)麻煩。
                   冥思苦想之后,想到一種辦法,通過(guò)前面的接口給c++發(fā)指令,讓c++移動(dòng)窗口,頁(yè)面上計(jì)算好拖動(dòng)的距離。html里面頁(yè)面的拖動(dòng)還是比較簡(jiǎn)單的,c++里面移動(dòng)也就是調(diào)用 MoveWindow。由于前面的通訊方法還是比較靈活,沒(méi)用多少時(shí)間,就把這個(gè)功能實(shí)現(xiàn)了。但是一運(yùn)行看,不太對(duì)勁,拖動(dòng)過(guò)程拖尾現(xiàn)象太明顯。可能是c++不斷調(diào)用 MoveWindow 重繪效率比較低。這可麻煩了。這時(shí)候,突然想到普通對(duì)話框拖動(dòng)的時(shí)候,是一個(gè)虛框在那里動(dòng),原來(lái)的對(duì)話框是不動(dòng)的,鼠標(biāo)放開(kāi)后,對(duì)話框才移過(guò)去。 能不能做到這樣呢? 但是windows實(shí)現(xiàn)這個(gè)方法的細(xì)節(jié)不得而知,怎么做呢? 
                   還是google好啊,經(jīng)過(guò)一番搜索,找到了答案: 
              
            void TooltipDlg::moveWin( const std::vector<wxString> &args )
            {
                
            if(args.size()<2return;
                
            long x,y;
                args[
            0].ToLong(&x);
                args[
            1].ToLong(&y);
                
            int ix,iy;
                ix 
            = x;
                iy 
            = y;
                ClientToScreen(
            &ix,&iy);
             

                ::SendMessage((HWND)
            this->GetHWND(),WM_NCMOUSEMOVE,HTCAPTION,MAKELPARAM(ix, iy)); 

            }
               搞定了,簡(jiǎn)單吧,真是沒(méi)想到這么簡(jiǎn)單。運(yùn)行后發(fā)現(xiàn),真的和windows的對(duì)話框移動(dòng)一模一樣了,太好了

            今天一鼓作氣把前面幾天的工作都總結(jié)了下來(lái),還真是敲得手有點(diǎn)累。但是這些東西確實(shí)是不太常規(guī)的方法,找解決問(wèn)題的方法很難,這里先把他們記錄下來(lái),免得以后找不到了。以前確實(shí)有很多知識(shí)都是用了就丟一邊找不到了。 也希望給有類(lèi)似疑問(wèn)的朋友一個(gè)幫助。

            posted on 2008-12-20 23:08 jerrychan 閱讀(2428) 評(píng)論(2)  編輯 收藏 引用 所屬分類(lèi): C++

            評(píng)論

            # re: C++中嵌入ie瀏覽器總結(jié)(4) - 對(duì)話框拖動(dòng) 2008-12-21 13:19 小笨象

            不用這么麻煩。
            在函數(shù)中:
            這樣兩句即可。
            ReleaseCapture();
            Perform(WM_SYSCOMMAND, SC_MOVE+HTCAPTION, 0);
              回復(fù)  更多評(píng)論   

            # re: C++中嵌入ie瀏覽器總結(jié)(4) - 對(duì)話框拖動(dòng) 2008-12-21 13:22 jerrychan

            @小笨象
            其實(shí)最后一句就行了,坐標(biāo)設(shè)置沒(méi)有用,后來(lái)懶得刪去了:)  回復(fù)  更多評(píng)論   

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(7)

            隨筆分類(lèi)

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲精品tv久久久久| 久久精品人人槡人妻人人玩AV| 久久综合九色综合精品| 国产精品伊人久久伊人电影| 久久国产精品免费| 久久夜色精品国产噜噜噜亚洲AV| …久久精品99久久香蕉国产| 久久国产精品偷99| 亚洲午夜久久久影院| 久久99精品久久久久久野外| 亚洲精品无码久久久久| 国产精品亚洲美女久久久| 久久久久久久波多野结衣高潮| 久久精品嫩草影院| 一本久道久久综合狠狠爱| 久久综合九色综合精品| 香蕉久久av一区二区三区| 久久久精品无码专区不卡| 精品国产乱码久久久久久1区2区| 久久综合久久伊人| 国产L精品国产亚洲区久久| 色欲久久久天天天综合网精品| 亚洲精品tv久久久久| 久久AAAA片一区二区| 久久精品国产99国产电影网 | 久久人人爽人人爽人人片AV麻豆| 亚洲色大成网站WWW久久九九| 久久香蕉国产线看观看猫咪?v| 免费国产99久久久香蕉| 97r久久精品国产99国产精| 亚洲精品无码久久千人斩| 久久午夜免费视频| 久久亚洲精品国产精品婷婷| 思思久久99热免费精品6| 久久中文精品无码中文字幕| 国产精品亚洲综合专区片高清久久久| 99久久精品国产高清一区二区| 久久精品国产亚洲77777| 99久久久国产精品免费无卡顿| 久久99精品国产麻豆| 国产美女久久精品香蕉69|