七月工作笔记 7.7 - 7.11
1. vs第二次單步調試崩潰。。
一開始不知道為什么,重裝無數次。
。
后來發現是VAssistX 插件的問題。
。。
將下載下來的插件包中的VA_X.dll ?復制到VAssistX 的安裝路徑下就可以。
2. 發現了一個非常棒的vs配色方案的站點 ? http://studiostyl.es/
3. sendmessage和postmessage的差別
PostMessage僅僅負責將消息放到消息隊列中,不確定何時及是否處理
SendMessage要等到受到消息處理的返回碼(DWord類型)后才繼續
PostMessage運行后立即返回
SendMessage必須等到消息被處理后才會返回。
4. MakeLower()函數
像這樣改變大寫和小寫的函數,除非一下子全然改變。否則現用現改,不要過早調用此類函數。
5. 消息中想要發送字符串,用以下方式
發送端:
CString relatedID = _T("123");
GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
reatedID.releaseBuffer();
在消息響應端:
void CDrawProgramDoc::SetYcProperty(WPARAM wParam)
{
?CString str((TCHAR*)lParam);
}
6. PostMessage和::PostMessage的差別
PostMessage的定義是這種:
_AFXWIN_INLINE BOOL CWnd::PostMessage(UINT message, WPARAM wParam, LPARAM lParam)
{ ASSERT(::IsWindow(m_hWnd)); return ::PostMessage(m_hWnd, message, wParam, lParam); }
所以在Release下。它和::PostMessage全然等價。所以能用PostMessage就不要用::PostMessage了,由于前者少一個參數,輸入快。曾經我也有疑問,以為用PostMessage會損失效率。結果未必,MFC的東西并不總是慢。有些時候他們與API等價的快。
PostMessage:不須要指定接收消息的窗體,可是消息僅僅能發往本窗體
::PostMessage:須要指定接收消息的窗體,可是消息能夠發往隨意窗體
7. 模態對話框與非模態對話框的差別
一般來說,Windows應用程序中。對話框分為模態對話框和非模態對話框兩種。二者的差別在于當對話框打開時,是否同意用戶進行其它對象的操作。
模態對話框壟斷了用戶的輸入。
當一個模態對話框打開時,用戶僅僅能與該對話框進行交互,而其它用戶界面對象收不到輸入信息。模態對話框下。用戶須要操作目標對話框就必須先操作模態對話框。
用戶對模態對話框的處理如圖所看到的。
模態對話框的處理過程
模態對話框的處理過程
非模態對話框(Nonmodal Dialogue Box。又叫做無模式對話框),與模態對話框不同。當用戶打開非模態對話框時。依舊能夠操作其它窗體。
建立模塊對話框通常調用DoModal()這種方法,而非模態對話框則調用Create()和ShowWindow()這兩個函數。
8.遇到一個奇妙錯誤。
。winocc.cpp 329行
錯誤本來是這種,有這么一段代碼:
//消息函數
LRESULT CPESetToolDlg::OnSocketGetInstallList(WPARAM wParam, LPARAM lParam)
{
?//發消息給進度條,讓他一下子跑完
?PostMessage(WM_PROGRESS_STEP_SEND, PROGESS_RANGE_NUM / 1, 0);
?//定義一個dlg
?CApkInstallDlg apkID;
?apkID.SetApkList((CSTRING_LIST*)wParam);
?//顯示dlg
?return apkID.DoModal();
}
單步調試的時候發現。僅僅有在DoModal() 的時候才崩潰,接著調試發現不正確,是在消息函數中崩潰的。
。
后來發現,假設在PostMessage以下讓他彈一個框就沒問題。。只是還是不知道怎么解決這個問題,后來發現。是由于消息這個東西。在隊列里面,運行順序非常亂,不能用post,所以就改成了send,採用堵塞的方式,。。結果還是不行,后來發現,原來的send之后進入的消息函數里面還有個post。。我想了想。。僅僅好又重寫了一個函數。。- -#。。
我發現如今我干的最多的事就是重寫函數了。
另外有篇文章寫得不錯。能夠看看:http://hi.baidu.com/vc_net/item/82e10f0c4a1e776dd55a113f
轉載于:https://www.cnblogs.com/liguangsunls/p/7079101.html
總結
以上是生活随笔為你收集整理的七月工作笔记 7.7 - 7.11的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web Api 转
- 下一篇: SSAS parent/child di