whisht

    十年

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

10 2011 档案

摘要:发送消息DELPHI代码 View Code 1//VCUnicode项目2var3wData:String;4h:HWND;5cds:TCopyDataStruct;6begin7wData:='1234567890'+Chr(0);8cds.dwData:=0;9cds.cbData:=Length(wData);10cds.lpData:=PWideChar(wData);11SendMessage(h,WM_COPYDATA,0,LongWord(@cds));12end1314//非VCUnicode项目15var16wData:WideString;17h:HWND 阅读全文
posted @ 2011-10-24 14:38 WHISHT 阅读(251) 评论(0) 推荐(0)

摘要:VC Unicode项目发送消息DELPHI代码var wData: String; h: HWND; cds: TCopyDataStruct;begin wData:= '1234567890'+ Chr(0); cds.dwData:= 0; cds.cbData:= Length(wData); cds.lpData:= PWideChar(wData); SendMessage(h, WM_COPYDATA, 0, LongWord(@cds));end非VC Unicode项目var wData: WideString; h: HWND; cds: TCopy... 阅读全文
posted @ 2011-10-24 14:24 WHISHT 阅读(483) 评论(0) 推荐(0)

摘要:01.//帮助文件,返回exe.hlp02.CStringfile=AfxGetApp()->m_pszHelpFilePath;03.MessageBox(file);04.05.//可执行方便全路径06.GetModuleFileName(NULL,file.GetBufferSetLength(MAX_PATH+1),MAX_PATH);07.MessageBox(file);08.09.//运行目录路径10.GetCurrentDirectory(MAX_PATH,file.GetBufferSetLength(MAX_PATH+1));11.MessageBox(file); 阅读全文
posted @ 2011-10-22 14:15 WHISHT 阅读(1030) 评论(0) 推荐(0)

摘要://帮助文件,返回exe.hlp CString file = AfxGetApp()->m_pszHelpFilePath; MessageBox(file); //可执行方便全路径 GetModuleFileName(NULL, file.GetBufferSetLength(MAX_PATH... 阅读全文
posted @ 2011-10-17 21:45 WHISHT 阅读(271) 评论(0) 推荐(0)

摘要://窗口ID,句柄,指针三者相互转换函数//ID--HANDLE--HWND三者之间的互相转换long id;CWnd *pWnd;HWND hWnd;//id->句柄hWnd = ::GetDlgItem(hParentWnd,id);//id->指针CWnd::GetDlgItem();//句柄->idid = GetWindowLong(hWnd,GWL_ID);//句柄->指针CWnd *pWnd=CWnd::FromHandle(hWnd);//指针->IDid = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);/ 阅读全文
posted @ 2011-10-16 21:30 WHISHT 阅读(328) 评论(0) 推荐(0)

摘要:症状从命令用户界面处理函数(Command UI handler)改变菜单状态(启用/禁用,选择/取消选择,更改文字)在由对话框处理时没有正常工作。void CTestDlg::OnUpdateFileExit(CCmdUI* pCmdUI{ pCmdUI->Enable(FALSE); //没有显示为禁用. pCmdUI->SetCheck(TRUE); // 没有文字前显示选定标记. pCmdUI->SetRadio(TRUE); // 没有在文字前显示点. pCmdUI->SetText("Close"); //没有更改菜单文字.} 原因在下拉 阅读全文
posted @ 2011-10-16 17:08 WHISHT 阅读(200) 评论(0) 推荐(0)

摘要:项目中用到第三方提供的OCX控件用于播放视频,但VC中导入OCX控制没有鼠标双击事件,窗体OnLButtonDblClk事件,在OCX控件上无效,网上查资料可以利于重载PreTranslateMessage捕获鼠标双击事件,代码如下:BOOL CGVideoDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_LBUTTONDBLCLK) { CWnd *pWnd = FromHandle(pMsg->hwnd); if (pWnd->GetDlgCtrlID 阅读全文
posted @ 2011-10-16 16:19 WHISHT 阅读(3115) 评论(0) 推荐(0)

摘要:响应控件所在窗口的OnContextMenu(CWnd* /*pWnd*/, CPoint point)函数,在该函数中增加判断当前鼠标右击点是否在控件区域内的过程,如果判断鼠标右击点在指定控件中,则显示相应弹出菜单。这种方法实现起来简单、灵活,完整VC代码如下:void CGVideoDlg::OnContextMenu(CWnd* /*pWnd*/, CPoint point){ // TODO: 在此处添加消息处理程序代码 CRect rect; GetDlgItem(IDC_PLAYER)->GetWindowRect(&rect); if (rect.PtInRect( 阅读全文
posted @ 2011-10-16 15:36 WHISHT 阅读(1491) 评论(0) 推荐(0)

摘要:项目为Unicode字字符集,调用inet_addr错误信息inet_addr cannot convert parameter1 from CString to const char*代码修改如下通过:CString serverip;serverip = "192.168.0.9";char c... 阅读全文
posted @ 2011-10-15 17:32 WHISHT 阅读(227) 评论(0) 推荐(0)

摘要:项目为Unicode字字符集,调用inet_addr错误信息inet_addr cannot convert parameter1 from CString to const char*代码修改如下通过:serverip="192.168.0.9";charcip[30]wcstombs(cip,serverip,serverip.GetLength()*2);unsignedlongip=ntohl(inet_addr(cip))参考:wcstombs wcstombs - 将宽字符转换成多字符头文件:#include <stdlib.h>原型size_t w 阅读全文
posted @ 2011-10-15 17:32 WHISHT 阅读(2021) 评论(2) 推荐(1)

摘要:找原因结果是在测试一个软件时把日期提前了两个月,日期改回正常就可以了。 阅读全文
posted @ 2011-10-09 09:21 WHISHT 阅读(146) 评论(0) 推荐(0)