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

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

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

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

            posted on 2008-12-20 23:08 jerrychan 閱讀(2427) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 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è)置沒有用,后來懶得刪去了:)  回復(fù)  更多評(píng)論   

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(7)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            热re99久久6国产精品免费| 国产叼嘿久久精品久久| 综合久久精品色| 无码人妻久久久一区二区三区| 午夜精品久久久久久毛片| 香蕉久久夜色精品升级完成| 国产欧美久久一区二区| 欧美精品一本久久男人的天堂| 久久精品国产只有精品66| 亚洲AV成人无码久久精品老人| 国产精品青草久久久久婷婷| 三级片免费观看久久| 人人狠狠综合久久88成人| 久久亚洲中文字幕精品一区| 97久久超碰成人精品网站| 性做久久久久久久久| 人人狠狠综合久久亚洲婷婷| 中文国产成人精品久久不卡 | 国产成人精品久久一区二区三区av | 亚洲国产精品狼友中文久久久| 久久99精品久久只有精品| 久久亚洲国产最新网站| 国产香蕉97碰碰久久人人| 久久久久久久久无码精品亚洲日韩| 久久www免费人成看国产片| 高清免费久久午夜精品| 午夜精品久久久久久毛片| 东方aⅴ免费观看久久av| 亚洲午夜福利精品久久| 精品无码久久久久久久久久| 国产精品久久波多野结衣| 久久精品中文闷骚内射| 久久精品夜夜夜夜夜久久| 亚洲AV无码久久精品成人 | 婷婷伊人久久大香线蕉AV| 日韩久久无码免费毛片软件| 国产精品亚洲综合专区片高清久久久| 久久精品国产精品青草| 久久亚洲综合色一区二区三区| 精品久久久久久| 精品国产91久久久久久久a|