- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC高手的经验总结——vc实用小技巧
vc实用小技巧
?一、 一次只运行一个程序实例下列两种方式都可以实现,?建议采用第二种方式:?1、 if( FindWindow(NULL,程序标题))???????? ? exit(0);? 2、BOOL CDemoTBarEApp::InstanceIsRun()
{ HANDLE m_hMutex; m_hMutex = ::CreateMutex(NULL, TRUE, _T(YourApplication)); ASSERT(m_hMutex); if (GetLastError() == ERROR_ALREADY_EXISTS) {? m_hMutex = NULL;? return TRUE;//实例已经运行 } return FALSE;//实例未运行}?
二、 装载光标SetCursor(AfxGetApp()-LoadStandardCursor(IDC_WAIT)); 其中::SetCursor()是全局函数,用来设置整个例程的光标参数是宏定义光标句柄。AfxGetApp ()是一个系统函数,它返回当前的一个CWinApp对象。其成员函数LoadStandardCursor()用来读取一个系统指针,每一种系统指针的具体宏定义如下:IDC_APPSTARTING? 带小沙漏的标准箭头IDC_ARROW? 标准箭头IDC_CROSS? 十字光标(用于定位)IDC_HAND? Windows 2000:手型IDC_HELP? 带问号的箭头IDC_IBEAM? I型标IDC_ICON? Obsolete for applications marked version 4.0 or later. IDC_NO?? 禁止符号IDC_SIZE? Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL. IDC_SIZEALL? 十字箭头IDC_SIZENESW? 指向东北和西南的双向箭头IDC_SIZENS? 指向南和北的双向箭头IDC_SIZENWSE? 指向西北和东南的双向箭头IDC_SIZEWE? 指向东西的双向箭头IDC_UPARROW? 上箭头IDC_WAIT? 沙漏获得主框架: CM pMainframe = (CMainFrame *) AfxGetApp()-m_pMainWnd;.获取应用程序的实例句柄:????? Example: HANDLE hInstance=AfxGetInstanceHandle();获得应用程序主窗口的指针:????? Example: AfxGetMainWnd() -ShowWindow(SW_SHOWMAXMIZED); //使程序最大化
四、重新建立字体的代码 if(m_fontLogo.m_hObject)? m_fontLogo.Detach(); m_fontLogo.CreateFont(nHeight, 0, 0, 0, nWeight, bItalic, bUnderline,0,0,0,0,0,0, Name);
五、用指定颜色填充区域 dc.FillSolidRect(rect, ::GetSysColor(COLOR_3DFACE));
六、绘制立体字体效果的字体,很值得一看void CTestView::OnPaint() { CPaintDC dc(this); // device context for painting? CRect rect; GetWindowRect(rect); CFont? m_fontLogo; m_fontLogo.CreateFont(24, 0, 0, 0, FW_BOLD, true,? FALSE,0,0,0,0,0,0, Arial); CString m_LogoText; m_LogoText=_T(Benlux Pro3D System); dc.SetBkMode(TRANSPARENT); CFont * OldFont = dc.SelectObject(m_fontLogo); // draw text in DC COLORREF OldColor = dc.SetTextColor( ::GetSysColor( COLOR_3DHILIGHT)); rect.right = rect.Width(); rect.bottom = rect.Height(); rect.left = rect.top = 0; dc.FillSolidRect(rect, ::GetSysColor(COLOR_3DFACE)); dc.DrawText( m_LogoText, rect + CP
文档评论(0)