VC常用Tip
小偷与漫之町
人生如棋,落子不悔;过河卒子,只进不退;人生苦短,及时行乐
展开
-
设置窗口透明化(VC)
BOOL CTest::OnInitDialog() {CDialog::OnInitDialog();//设置窗口扩展风格SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|0x80000);typedef BOOL (WINAPI *FSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);FSetLayeredWindowAttributes原创 2010-09-03 01:10:00 · 743 阅读 · 0 评论 -
将窗口不可移动
<br />在函数PreTranslateMessage中增加:<br /><br />if(pMsg->message==WM_NCLBUTTONDOWN)<br />{<br />pMsg->message = WM_LBUTTONDOWN;<br />}原创 2010-11-11 00:50:00 · 478 阅读 · 0 评论 -
对指定控件进行消息操作(右键操作为例)
<br />1.定义菜单资源以及成员函数<br /> <br />CMenu menu;<br />OnInitDialog()函数加入:<br />menu.LoadMenu(IDR_TEXTMENU);//IDR_TEXTMENU为菜单的ID<br /> <br /> <br /> <br />2.PreTranslateMessage(MSG* pMsg)函数中加入:<br /> <br /><br />if(pMsg->message==WM_RBUTTONUP && pMsg->hwnd==m_m原创 2010-11-14 00:56:00 · 345 阅读 · 0 评论 -
窗体百叶窗效果
<br /><br />在OnPaint()函数里加入:<br /> <br />int i,j,w,h;<br />CPaintDC dc(this); <br />CBitmap bit;<br />CDC mendc;<br />CRect rect;<br />this->GetWindowRect(&rect);<br />w=rect.Width();<br />h=rect.Height();<br />bit.LoadBitmap(IDB_BITMAP1);<br />mendc.Creat原创 2010-11-14 00:38:00 · 500 阅读 · 0 评论 -
操作系统按钮(最大、最小化按钮)
<br />1.禁用最小化按钮:<br /><br />//获得窗口风格<br />Style = ::GetWindowLong(m_hWnd,GWL_STYLE);<br />//设置新的风格<br />Style &= ~(WS_MINIMIZEBOX);<br />::SetWindowLong(m_hWnd,GWL_STYLE,Style);<br />GetWindowRect(&Rect);<br />//重画窗口边框<br />::SetWindowPos(m_hWnd,HWND_TOP,R原创 2010-11-14 00:33:00 · 531 阅读 · 0 评论 -
窗体闪烁效果
<br />FlashWindow(true);原创 2010-11-14 00:23:00 · 299 阅读 · 0 评论 -
对话框窗体置顶
<br />在函数OnInitDialog中加入:<br /><br />::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,10,10,450,300,SWP_NOMOVE);原创 2010-11-11 01:01:00 · 438 阅读 · 0 评论 -
托盘显示
1.声明变量NOTIFYICONDATA m_traydata; 2.在OnInitDialog()函数中,增加: m_traydata.cbSize = sizeof(NOTIFYICONDATA); m_traydata.hIcon = AfxGetApp()->LoadIcon(IDI_TRAYICON);//IDI_TRAYICON为导入的托盘图标ICON m_traydata.hWnd = m_hWnd; char *m_str = "托盘提示标语"; str原创 2010-11-09 01:35:00 · 599 阅读 · 0 评论 -
最大化窗口的大小设置
<br />增加消息函数:<br />afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);//.h文件<br />ON_WM_GETMINMAXINFO()//.cpp文件<br /> <br /><br />void CLimitSizeDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) //.cpp文件<br />{<br />lpMMI->ptMaxSize.x = 800; //设置对话框最大化时的宽度<b原创 2010-11-10 01:15:00 · 652 阅读 · 0 评论 -
不规则对话框窗口
<br />1.导入图片到资源IDB_BITMAP1<br /> <br />2.在OnInitDialog()函数中加入:<br /><br />CRgn wndRgn,rgnTemp;<br />wndRgn.CreateEllipticRgn(0,0,480,300);<br />SetWindowRgn((HRGN)wndRgn,true);<br /> <br />3.在OnPaint() 函数中的else中加入:<br /><br />CPaintDC dc(this); <br />CRect原创 2010-11-10 00:46:00 · 422 阅读 · 0 评论 -
对话框背景渐变色
<br />1.先添加绘制函数:<br /><br />void CGradualColorWndDlg::DrawGradient(HDC pDC,const RECT& rect,COLORREF begin, COLORREF end, const int &width)<br />{<br />RECT rcstep;<br />HBRUSH br;<br />intn,m;<br />float step=0.0;<br />intnred=0,ngreen=0,nblue=0;<br />flo原创 2010-11-10 00:18:00 · 1025 阅读 · 1 评论 -
遍历目录下所有文件(VC)
/*对文件夹下面的所有文件进行遍历char* rootDir:文件目录char* strRet:得到的文件名×/void FindFileInDir(char* rootDir, char* strRet){char fname[MAC_FILENAMELENOPATH];ZeroMemory(fname, MAC_FILENAMELENOPATH);WIN32_FIND_DATA fd;ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));HANDLE hSearch;char原创 2010-09-25 01:26:00 · 603 阅读 · 0 评论 -
改变鼠标图标(VC)
1.添加鼠标资源IDC_CURSOR1(.cur图标)2.增加消息响应函数 BOOL CTest3Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) {//当鼠标在IDC_STATIC_1上面时,改变鼠标图标if(pWnd==GetDlgItem(IDC_STATIC_1)) { ::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1)); return true; } ret原创 2010-09-03 00:57:00 · 1638 阅读 · 2 评论 -
改变文本框内文字颜色
<br />1.定义CEditm_edit成员变量;<br /> <br />2.<br />COLORREF colour;<br /><br />colour = RGB(255,0,0);<br />m_edit.SetFocus();<br /> <br />3.增加消息响应函数 HBRUSH CColourTextDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)<br />内容为:<br /><br />HBRUSH CColourText原创 2010-11-14 23:47:00 · 618 阅读 · 0 评论