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

            久久婷婷五月综合国产尤物app| 无码人妻精品一区二区三区久久久| AV狠狠色丁香婷婷综合久久 | 久久亚洲国产成人影院网站 | 久久中文字幕视频、最近更新 | 久久青青草视频| 93精91精品国产综合久久香蕉| 国产亚洲欧美成人久久片| 久久精品无码一区二区app| 99久久综合国产精品免费| 国内精品久久久久久99| 色诱久久av| 久久97精品久久久久久久不卡| 亚洲精品99久久久久中文字幕| 久久久久久国产精品免费无码 | 国产产无码乱码精品久久鸭| 老司机午夜网站国内精品久久久久久久久 | 久久久久久久综合日本亚洲| 久久久久久国产a免费观看黄色大片 | 久久久久无码精品| 国产精品久久久久久吹潮| 久久久久免费视频| 久久综合狠狠综合久久激情 | 国产精品免费久久久久电影网| 午夜精品久久久久久久| 欧美日韩精品久久久久| 久久99精品九九九久久婷婷| 国内精品久久久人妻中文字幕| 久久大香萑太香蕉av| 欧美日韩精品久久久久| 久久免费香蕉视频| 久久久精品视频免费观看| 久久97久久97精品免视看秋霞| 精品国产一区二区三区久久| 狠狠色丁香久久综合五月| 97久久精品无码一区二区| 久久婷婷久久一区二区三区| 国产精品9999久久久久| 日产精品久久久久久久性色| 亚洲va中文字幕无码久久| 一本色道久久综合狠狠躁|