MFC開發常見問題的回答3 (轉)
第一輯:/develop/read_article.?id=6676">http://www.csdn.net/develop/read_article.asp?id=6676
第二輯:http://www.csdn.net/develop/read_article.asp?id=7259
問:MFC如何處理WM_SETTEXT訊息?
答:
MFC沒有提供WM_SETTEXT訊息的對映,所以需要我們自己定義
在message map裡面
OnMessage(WM_SETTEXT, OnSetText)
在.h裡面宣告
void LRESULT CMyClass::OnSetText(wParam, lParam);//bool...等等函式型別自己決定
問:如何註冊自己的訊息?
答:
在message map裡面
#define ON_WM_CHKTBLTOGGLE()
{
WM_CHKTBLTOGGLE, 0, AfxSig_vwp, (AFX_PMSG)(AFX_PMSGW)(BOOL
(AFX_MSG_CALL CWnd::*)(BYTE, BYTE))OnChkTblToggle
},
ON_MESSAGE(WM_CHKTBLTOGGLE, OnChkTblToggle)
如此宣告訊息函式
afx_msg LRESULT OnChkTblToggle(WPARAM wParam, LPARAM lParam);
LRESULT CMyView::OnChkTblToggle(WPARAM wParam, LPARAM lParam)
{
// TODO: write your code here.
}
void CMYView::OnChkTblToggle(UINT, CPoint)
問:如何使我的視窗總位於螢幕頂端?
SetWindowPos(&wndTopMost,NULL,NULL,NULL,NULL,SWP_NOMOVE¦SWP_NOSIZE);
問:怎麼弄一個HDC建立一個CDC?
有時候window 會給你一個DC的控制程式碼,而你想利用其CDC,比如自畫ComBox、按鈕、tabctrl等等
下面有兩種方法從一個hdc建立到CDC,你能把它們利用到任何MFC應用程式中!
方法一:
void MyODList::DrawItem(LPDRAWITEMSTRUCT lpDrawItem)
{
CDC myDC;
myDC.Attach(lpDrawItem->hDC);
//在這裡做你想做的!
//I如果你不做下面的 detach, window會很不高興哦:)
myDC.Detach();
}
方法二:
CDC* pDC = CDC:FromHandle(lpDrawItem->hDC);
沒法說出上面良種方法在資源上的差異,至少下面的很簡單,並且,你不會因忘記detach出錯....
如何去掉視窗的標題條?
答:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
LONG dwStyle = ::GetWindowLong(GetSafeHwnd(), GWL_STYLE):
dwStyle &= ~(WS_CAPTION¦WS_BORDER ):
::SetWindowLong(GetSafeHwnd(), GWL_STYLE, dwStyle):
//.....
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-996105/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MFC開發常見問題的回答2 (轉)
- HTTP/2 常見問題回答HTTP
- 常見的前端開發CSS 面試題及回答策略前端CSS面試題
- 常見的前端開發:Javascript 面試題及回答策略前端JavaScript面試題
- DELPHI開發Web程式常見問題 (轉)Web
- Oracle面試常見的二十個問題及回答Oracle面試
- JAVA常見開發問題Java
- XML入門常見問題(3)(轉)XML
- Laravel 個人開發常見問題Laravel
- 近期BSN開發常見問題
- DDC/NFT開發常見問題
- 近期BSN開發常見問題答疑
- DDC開發常見問題答疑(二)
- Vue.js開發常見問題Vue.js
- C++語言常見問題解答(3) (轉)
- Oracle常見提問3(轉)Oracle
- vue.js 前端開發常見問題Vue.js前端
- 開發過程中mysql常見問題MySql
- 微信小程式中開發常見問題微信小程式
- react-native開發常見問題React
- 前端開發常見問題精選(五)前端
- 微信小程式開發常見問題(四)微信小程式
- 微信小程式開發常見問題(五)微信小程式
- 微信小程式開發常見問題(七)微信小程式
- iOS開發常見問題之綜合篇iOS
- VueJS 開發常見問題集錦VueJS
- 使用ActiveX控制元件開發網頁常見的問題 (轉)控制元件網頁
- redis持久化開發運維常見問題Redis持久化運維
- Vue.JS 開發常見問題集錦Vue.js
- vue專案開發過程常見問題Vue
- iOS開發執行報錯、常見問題iOS
- 軟體開發中存在的25個常見問題
- iOS開發中兩個常見問題的處理iOS
- 敏捷擁護者眼中敏捷開發的常見問題敏捷
- vi 命令常見問題解答(轉)
- Java常見問題集錦(轉)Java
- Windows 98 常見問題解答(轉)Windows
- C 語言常見問題(轉)