• <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)論排行榜

            99精品久久精品一区二区| 亚洲国产成人精品无码久久久久久综合| 99久久精品久久久久久清纯| 99久久国产综合精品网成人影院 | 国产精品久久久久天天影视| 久久久精品免费国产四虎| 久久精品?ⅴ无码中文字幕| 久久毛片一区二区| 国产精品美女久久久久久2018| 久久精品亚洲精品国产欧美| 午夜欧美精品久久久久久久| 久久精品国产精品青草| 国内精品久久久久影院薰衣草 | WWW婷婷AV久久久影片| 久久夜色精品国产亚洲av| 国产情侣久久久久aⅴ免费| 欧美黑人激情性久久| 91精品观看91久久久久久| 久久久婷婷五月亚洲97号色| 午夜精品久久影院蜜桃| 99久久精品无码一区二区毛片 | 久久久精品国产Sm最大网站| 无码人妻久久一区二区三区免费丨| 国产精品成人精品久久久| 浪潮AV色综合久久天堂| 亚洲国产婷婷香蕉久久久久久| 99热热久久这里只有精品68| 97热久久免费频精品99| 婷婷五月深深久久精品| 亚洲欧洲日产国码无码久久99| 久久久精品国产免大香伊 | 丰满少妇人妻久久久久久4| 久久丫精品国产亚洲av不卡| 久久精品国产亚洲av麻豆蜜芽 | 国产成人精品久久亚洲高清不卡 | avtt天堂网久久精品| 久久国产精品77777| 东京热TOKYO综合久久精品 | 狠狠久久亚洲欧美专区| 成人综合伊人五月婷久久| 国内精品九九久久久精品|