2 18如何得到指向當前活動文件的指標?

2021-05-22 14:17:55 字數 664 閱讀 3636

這個問題的解決方案本身並不複雜,但是它要求很好的理解在mfc應用程式中各種物件之間的關係以及操縱那些物件的函式。下面的程式清單顯示的技術為此提供了一種獲得當前活動文件指標的 類屬的、可重用的方法。可以從**中的任何位置處呼叫該函式。

上面程式清單中的方案既適用於mdi應用程式,也適用於sdi應用程式。對mdi應用程式而言,getactiveframe()函式呼叫將返回乙個指向活動檢視的框架視窗(如果不存在,則可能為null)的指標。對sdi應用程式而言,getactiveframe()函式簡單的返回固有的this指標,因為主框架視窗同時起著檢視框架視窗的作用。

附加注釋:

應該注意到,上面的程式清單顯示的函式在某些情況下可能返回乙個null指標。所以,當你設計**的時候,應該考慮到這種可能性。還有,返回的指標是類屬的cdocument*型別,如果打算根據活動文件物件的某個特定類進行操作,那麼必須依賴執行時型別資訊機制,該機制由mfc通過cobject類和cruntimeclass結構提供。下面的程式清單顯示了如何檢查活動文件物件的這個類 以安全的 把由ekgetactivedocument()函式返回的cdocument*指標向下對映成強制型別定義的指標。

下面的程式清單工作方式與上面的相同,但是使用了dynamic_dwoncast()巨集代替iskindof()和static_cast以安全的向下對映。

如何得到當前活動的控制項 判斷那個控制項得到了游標

昨天晚上加班的時候遇到乙個問題,大致要實現以下內容 1.資料視窗控制項 dw 1 dw 2 2.如果dw 1得到游標,那麼 3.如果dw 1 失去焦點,那麼 如果dw 2得到游標,如果dw 2也沒有得到游標,看起來很簡單的樣子 實際上也很簡單 但是我試了很多次。一開始在dw 1的losefocus事...

如何得到XML文件大小

xml文件從格式到大小都是不是確定的。有的可能只有幾行,而有的卻有好幾兆位元組。你也許會懷疑是不是需要了解 xml文件的大小。而當效能成為首要問題時,知道 xml文件大小就是件必須要作的事情了。從效能角度講,有兩類處理xml文件的方法。批量處理方式需要較短的時間,解析成組的文件。實時方式就是實時的處...

如何實時檢視當前活動連線

原來一直被這個問題所困擾,前些天在網上偶然發現解決的辦法。現分享如下 基本語句為sp who 我們可以把查詢結果插入到我們自己定義的表 monitoruser 中 基本語句為 createtablemonitoruser spidint,ecidint,statusvarchar 200 login...