void CMainFrame::OnTrayMessage(WPARAM wParam, LPARAM lParam){ if (lParam == WM_LBUTTONDBLCLK) { ShowWindow(SW_RESTORE); } else if (lParam == WM_RBUTTONDOWN) { CPoint m_point; ::GetCursorPos(&m_point);
CMenu menu; menu.LoadMenu(IDM_TRAYMENU); CMenu* submenu = menu.GetSubMenu(0); SetFo...
当工程的设置为“使用mfc作为静态的链接库”时,在新线程中使用CSocket,当进行Create操作时,会出错
解决办法:
在新线程中重新调用AfxSocketInit()进行Socket的初始化
CString CServices::GetModuleFilePath(){ TCHAR szFile[255]={0}; CString str = _T("");
DWORD dwRet = GetModuleFileName(NULL,szFile,255);
if(dwRet!=0) { str = _T(szFile); int nPos = str.ReverseFind('\\'); if(nPos!=-1) { str = str.Left(nPos+1); } } return str;}
查找字符串中某个字符最后一次出现的位置
两个参数
第一个参数:字符串
第二个参数:查找的字符
返回值:指向最后一次在字符串中出现的该字符的指针,如果要查找的字符再串中没有出现,则返回NULL。
(1)创建时传入字符串资源IDm_pPage1 = new CMyPropertyPage(IDS_MYCAPTION); (2)修改CPropertyPage.m_pspm_pPage1->m_psp.dwFlags |= PSP_USETITLE;m_pPage1->m_psp.pszTitle = _T("My Caption");注意:这种修改只能在CPropertySheet的Create和DoModal之前进行; 如果是从文件中读出一个字符串来进行设置,最好把这个字符串放在一个静态字符数组里面,例如static char strTitle[32];m_pP...
存储过程为:
create procedure [dbo].[ps_show1] @maxID intasselect * from ImportBatchwhere BatchID <= @maxID存储过程要求输入一个参数,同时返回一个记录集下面是应用程序中访问存储过程的关键代码:
_RecordsetPtr m_pRecordSetTemp = NULL; _ConnectionPtr m_pConnection = NULL; _CommandPtr m_pCommand = NULL; _bstr_t strCon( "...
m_list.SetItemState(1, LVIS_SELECTED, LVIS_SELECTED); m_list.SetFocus();
一定要有那个SetFocus()才可以