国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MFC應(yīng)用程序多線程混合顯示界面方法研究

2014-12-16 03:43袁野
電腦知識(shí)與技術(shù) 2014年32期
關(guān)鍵詞:句柄中彈華中科技大學(xué)

袁野

摘要:該文通過分析與研究MFC內(nèi)部關(guān)鍵數(shù)據(jù)結(jié)構(gòu),并結(jié)合Windows操作系統(tǒng)UI工作原理,提出了如何解決應(yīng)用程序在多線程環(huán)境下界面的顯示與更新。

關(guān)鍵詞:MFC;線程局部存儲(chǔ);TLS;線程狀態(tài);模塊狀態(tài);模塊-線程狀態(tài);窗口句柄映射表

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7630-02

1 多UI線程顯示工具條的問題與解決

在多線程顯示UI中普遍存在的問題是從當(dāng)前線程的模塊-線程狀態(tài)的永久句柄表或臨時(shí)句柄表中無法查找到另一個(gè)線程對(duì)應(yīng)窗口句柄的MFC窗口類對(duì)象,而MFC類庫和第三方界面庫的界面更新邏輯對(duì)具有父子關(guān)系的窗口均假設(shè)為在同一線程進(jìn)行,因此當(dāng)從主框架開始進(jìn)行消息傳遞來更新界面時(shí),如果某一窗口句柄在當(dāng)前線程的永久句柄表中查找不到MFC窗口對(duì)象時(shí),更新消息不會(huì)傳遞給該窗口,從而造成界面的局部未被更新。

解決此問題的方法是將主線程的模塊-線程狀態(tài)中的句柄表拷貝到子線程的模塊-線程狀態(tài)中的句柄表中。下面以在子線程中彈出一個(gè)工具條為例子加以說明,在線程中彈出一個(gè)工具條的代碼如下:

以上代碼是將主線程的線程-模塊狀態(tài)中的句柄表拷貝到子線程的線程-模塊狀態(tài)中的句柄表時(shí)能正確彈出工具條的樣例代碼。

參考文獻(xiàn):

[1] Charles Petzold.Windows程序設(shè)計(jì)[M]. 5版.北京:北京大學(xué)出版社,1999.

[2] George Shepherd,Scot Wingo.深入解析MFC[M]. 趙劍去,卿瑾,譯.北京:中國電力出版社,2003.

[3] 候捷. 深入淺出MFC[M].武漢:華中科技大學(xué)出版社,2001.

[4] 李久進(jìn).MFC深入淺出[M].武漢:華中科技大學(xué)出版社,1999.

[5] Jeffrey Richter .Windows 核心編程[M].王建華,張煥生,侯麗坤,譯.北京:機(jī)械工業(yè)出版社,2000.

摘要:該文通過分析與研究MFC內(nèi)部關(guān)鍵數(shù)據(jù)結(jié)構(gòu),并結(jié)合Windows操作系統(tǒng)UI工作原理,提出了如何解決應(yīng)用程序在多線程環(huán)境下界面的顯示與更新。

關(guān)鍵詞:MFC;線程局部存儲(chǔ);TLS;線程狀態(tài);模塊狀態(tài);模塊-線程狀態(tài);窗口句柄映射表

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7630-02

1 多UI線程顯示工具條的問題與解決

在多線程顯示UI中普遍存在的問題是從當(dāng)前線程的模塊-線程狀態(tài)的永久句柄表或臨時(shí)句柄表中無法查找到另一個(gè)線程對(duì)應(yīng)窗口句柄的MFC窗口類對(duì)象,而MFC類庫和第三方界面庫的界面更新邏輯對(duì)具有父子關(guān)系的窗口均假設(shè)為在同一線程進(jìn)行,因此當(dāng)從主框架開始進(jìn)行消息傳遞來更新界面時(shí),如果某一窗口句柄在當(dāng)前線程的永久句柄表中查找不到MFC窗口對(duì)象時(shí),更新消息不會(huì)傳遞給該窗口,從而造成界面的局部未被更新。

解決此問題的方法是將主線程的模塊-線程狀態(tài)中的句柄表拷貝到子線程的模塊-線程狀態(tài)中的句柄表中。下面以在子線程中彈出一個(gè)工具條為例子加以說明,在線程中彈出一個(gè)工具條的代碼如下:

以上代碼是將主線程的線程-模塊狀態(tài)中的句柄表拷貝到子線程的線程-模塊狀態(tài)中的句柄表時(shí)能正確彈出工具條的樣例代碼。

參考文獻(xiàn):

[1] Charles Petzold.Windows程序設(shè)計(jì)[M]. 5版.北京:北京大學(xué)出版社,1999.

[2] George Shepherd,Scot Wingo.深入解析MFC[M]. 趙劍去,卿瑾,譯.北京:中國電力出版社,2003.

[3] 候捷. 深入淺出MFC[M].武漢:華中科技大學(xué)出版社,2001.

[4] 李久進(jìn).MFC深入淺出[M].武漢:華中科技大學(xué)出版社,1999.

[5] Jeffrey Richter .Windows 核心編程[M].王建華,張煥生,侯麗坤,譯.北京:機(jī)械工業(yè)出版社,2000.

摘要:該文通過分析與研究MFC內(nèi)部關(guān)鍵數(shù)據(jù)結(jié)構(gòu),并結(jié)合Windows操作系統(tǒng)UI工作原理,提出了如何解決應(yīng)用程序在多線程環(huán)境下界面的顯示與更新。

關(guān)鍵詞:MFC;線程局部存儲(chǔ);TLS;線程狀態(tài);模塊狀態(tài);模塊-線程狀態(tài);窗口句柄映射表

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7630-02

1 多UI線程顯示工具條的問題與解決

在多線程顯示UI中普遍存在的問題是從當(dāng)前線程的模塊-線程狀態(tài)的永久句柄表或臨時(shí)句柄表中無法查找到另一個(gè)線程對(duì)應(yīng)窗口句柄的MFC窗口類對(duì)象,而MFC類庫和第三方界面庫的界面更新邏輯對(duì)具有父子關(guān)系的窗口均假設(shè)為在同一線程進(jìn)行,因此當(dāng)從主框架開始進(jìn)行消息傳遞來更新界面時(shí),如果某一窗口句柄在當(dāng)前線程的永久句柄表中查找不到MFC窗口對(duì)象時(shí),更新消息不會(huì)傳遞給該窗口,從而造成界面的局部未被更新。

解決此問題的方法是將主線程的模塊-線程狀態(tài)中的句柄表拷貝到子線程的模塊-線程狀態(tài)中的句柄表中。下面以在子線程中彈出一個(gè)工具條為例子加以說明,在線程中彈出一個(gè)工具條的代碼如下:

以上代碼是將主線程的線程-模塊狀態(tài)中的句柄表拷貝到子線程的線程-模塊狀態(tài)中的句柄表時(shí)能正確彈出工具條的樣例代碼。

參考文獻(xiàn):

[1] Charles Petzold.Windows程序設(shè)計(jì)[M]. 5版.北京:北京大學(xué)出版社,1999.

[2] George Shepherd,Scot Wingo.深入解析MFC[M]. 趙劍去,卿瑾,譯.北京:中國電力出版社,2003.

[3] 候捷. 深入淺出MFC[M].武漢:華中科技大學(xué)出版社,2001.

[4] 李久進(jìn).MFC深入淺出[M].武漢:華中科技大學(xué)出版社,1999.

[5] Jeffrey Richter .Windows 核心編程[M].王建華,張煥生,侯麗坤,譯.北京:機(jī)械工業(yè)出版社,2000.

猜你喜歡
句柄中彈華中科技大學(xué)
華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院(二)
華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院(一)
自由
地產(chǎn)圈反貪風(fēng)暴,萬達(dá)不幸“中彈”
失敗的原因
編譯技術(shù)綜述
高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
彰顯中國化馬克思主義的魅力
——記華中科技大學(xué)哲學(xué)系教授歐陽康
編譯程序語法分析句柄問題分析與探討
《營(yíng)銷禮儀》課程構(gòu)建實(shí)訓(xùn)主導(dǎo)型教學(xué)模式的探討——以華中科技大學(xué)武昌分校為例