文章分类 -  windows程序设计

摘要:void CALLBACK TimerProc( HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime ){ assert(hWnd); QMainFrame* pMainFrame = (QMainFrame*)QWnd::FromHandle(hWnd); CString& str = pMai... 阅读全文
posted @ 2013-08-18 14:57 宝贝,我永远都在 阅读(1828) 评论(0) 推荐(0)
摘要:BOOL CheckFileRelation(const TCHAR* strExt, const TCHAR* strAppKey){ HKEY hExtKey; BOOL bRet = RegOpenKey(HKEY_CLASSES_ROOT, _T(".itxb"), &hExtKey); if(!bRet) return FALSE; TCHAR szPath[_MAX_PATH]; DWORD dwSize = sizeof(szPath); RegQueryValueEx(hExtKey, NULL, NULL, NULL, (LPBYT... 阅读全文
posted @ 2013-08-18 14:46 宝贝,我永远都在 阅读(635) 评论(0) 推荐(0)
摘要:/*序列化:将图形以文件的形式保存起来*/void CGragh::SetGraghToFile(CString strFileName){ FILE* pFile = _tfopen(strFileName.GetBuffer(0), _T("w+b")); if(NULL==pFile) return; int nCount = vecBihua.size(); fwrite((void*)&nCount, sizeof(int), sizeof(int), pFile); for(int i=0; i0) { for(in... 阅读全文
posted @ 2013-08-18 14:18 宝贝,我永远都在 阅读(276) 评论(0) 推荐(0)
摘要:LRESULT QMainFrame::OnMouseMove(WPARAM wParam, LPARAM lParam){CPoint ptMove;ptMove.x = LOWORD(lParam); ptMove.y = HIWORD(lParam);if(m_bStart){HDC hDC = ::GetDC(m_hWnd);assert(hDC);{MoveToEx(hDC, m_ptOrg.x, m_ptOrg.y, NULL);LineTo(hDC, ptMove.x, ptMove.y);m_ptOrg = ptMove;}::ReleaseDC(m_hWnd, hDC);cu 阅读全文
posted @ 2013-08-18 14:05 宝贝,我永远都在 阅读(203) 评论(0) 推荐(0)
摘要:键盘消息分为2种:系统键盘消息 和 普通系统消息virtual LRESULT OnKeyUp(WPARAM wParam, LPARAM lParam);//普通键盘弹起virtual LRESULT OnKeyDown(WPARAM wParam, LPARAM lParam);//普通键盘按下virtual LRESULT OnChar(WPARAM wParam, LPARAM lParam);//普通字符virtual LRESULT OnSysKeyUp(WPARAM wParam, LPARAM lParam);//系统按键弹起virtual LRESULT OnSysKeyDo 阅读全文
posted @ 2013-08-17 23:39 宝贝,我永远都在 阅读(346) 评论(0) 推荐(0)
摘要:昨天在论坛上,有人问起双缓冲的实现问题,想起网上这方面资料比较凌乱,而且多是 DirectX 相关的,今天特地在这里给大家简要的介绍一下双缓冲技术及其在 VC++ 的 GDI 绘图环境下的实现。 1、Windows 绘图原理 我们在 Windows 环境下看到各种元素,如菜单、按钮、窗口、图像,从根本上说,都是“画”出来的。这时的屏幕,就相当于一块黑板,而 Windows 下的各种 GDI 要素,如画笔、画刷等,就相当于彩色粉笔了。我们在黑板上手工画图时,是一笔一划的,电脑亦然。只不过电脑的速度比手工快的太多,所以在我们看起来好像所有的图形文字都是同时出现的。 2、普通绘图方式的局限... 阅读全文
posted @ 2013-08-16 13:40 宝贝,我永远都在 阅读(190) 评论(0) 推荐(0)
摘要:GDI是啥? 就理解为画界面的就行了,下面的代码是我在ONPAINT消息函数里面写的,系统什么时候会给窗体发送ONPAINT消息呢?那么就是当窗口无效的时候,什么时候窗口无效呢?那么就是被遮蔽或者还原的时候:看代码:LRESULT QMainFrame::OnPaint(WPARAM wParam, LPARAM lParam){ //RECT rcClient; //GetClientRect(&rcClient); //PAINTSTRUCT ps; //HDC hDC = ::BeginPaint(m_hWnd, &ps); //assert(hDC); ... 阅读全文
posted @ 2013-08-16 13:36 宝贝,我永远都在 阅读(333) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-08-16 13:03 宝贝,我永远都在 阅读(93) 评论(0) 推荐(0)
摘要:HELLOWIN.C /*------------------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 -----------------------------------------------------------------------*/ ... 阅读全文
posted @ 2013-08-13 09:54 宝贝,我永远都在 阅读(168) 评论(0) 推荐(0)