tip&trick in visual c++
来源:互联网 发布:淘宝助理阶梯价 编辑:程序博客网 时间:2024/05/14 02:29
0: 弹出鼠标右健 //这个是凑个数,因此作0解 :)
void Pop()
{
CMenu menu;
CMenu* popMenu;
menu.LoadMenu(IDR_MENU1);
popMenu=menu.GetSubMenu(0);
CPoint pt; GetCursorPos(&pt);
popMenu->TrackPopupMenu(TPM_LEFTBUTTON,pt.x,pt.y,this);
menu.Detach();
}
1: 得到格式化系统时间日期;
CString GetTime()
{
1:
SYSTEMTIME CurTime;
GetLocalTime(&CurTime);
CString str;
str.Format("%4d%2d%2d %2d:%2d:%2d",CurTime.wYear,CurTime.wMonth,CurTime.wDay......);
return str;
2://这个比较简洁
CString str=CTime::GetCurrentTime().FormatGmt("%m%d%y %H:%M%S");
return str;
}
1.5 :得到逝去时间:)//没想到吧,还有1.5
除了最常用的 GetTickCount()以外,我们还有很多
#include "time.h"
#include "sys/timeb.h"
_timeb starttime,endtime;
void StartTimer()
{
_ftime(&starttime);
}
void StopTimer()
{
_ftime(&endTime);
}
double GetElapsedTime()
{
double msecs=endtime.millitm-startTime.millitm;
double secs=difftime(endtime.time,starttime.time);
return secs+msecs/1000;
}
//其实除了这个还有别的更好的方法
2: ACCESS当前表完整插入不同数据库的另一表中
如果为同一数据库,比较好办,如果是不同的数据库呢,使用
SQL语句则相当的简单:
SQL="select * into b from a in "+'"'+"c://a.mdb"+'"';
意为:
把才c:/a.mdb 中的a表 插入到当前数据库表b中(系统会自动创建b表的结构)
3: 得到当前EXE文件的目录
void GetExePath(CString& strPath)
{
TCHAR buffer[MAX_PATH];
TCHAR driver[MAX_PATH];
TCHAR dir[MAX_PATH];
GetModuleFileName(NULL,buffer,MAX_PATH);
_splitpath(buffer,driver,dir,NULL);
strcat(driver,dir);
strPath.Format("%s",driver);
}
4: 从字符串中返回要找的第一个字符位置 ,从开头以及从结尾找;
#include "string.h"
int GetFirst(char* pFindStr,char ch)
{
char *pdest;
int result;
pdest = strchr( pFindStr, ch );
result = (int)(pdest - pFindStr + 1);
if ( pdest != NULL )
return result;
else
return -1;
}
int GetFirstBackWard(char* pFindStr,char ch)
{
/* Search backward. */
char* pdest;
pdest = strrchr( string, ch );
int result = (int)(pdest - pFindStr + 1);
if ( pdest != NULL )
return result;
else
return -1;
}
}
5:分解字符串
void ExtractStrings(char* str)
{
char str[]="I,u,o,9,j";
int i=0;
CArray<CString> strs;
strs.SetSize(10,5);
while (bFind)
{
bFind=AfxExtractSubString(strs[i],str,i,',');
i++;
}
6: 得到剪贴板文字
CString GetClipBoardText();
{
if(OpenClipboard())
{
CString str;
str.Format("%s",(char*)GetClipboardData(CF_TEXT));
}
CloseClipboard();
}
7:删除文件夹//这个也作凑数解 :)
ENUM 的
void DeleteFileDoc(char* path,bool showProgress)
{
SHFILEOPSTRUCT FileOp;
//add begins...
TCHAR buf[_MAX_PATH+2];
memset(buf,0,sizeof(buf));
_tcscpy(buf,path);
//add ends...
memset(&FileOp,0,sizeof(SHFILEOPSTRUCT));
FileOp.hwnd=m_hWnd;
FileOp.wFunc=FO_DELETE;
FileOp.pFrom=buf; //改一下pFrom指针到buf.
FileOp.pTo=NULL;
FileOp.fFlags=FOF_ALLOWUNDO|FOF_SIMPLEPROGRESS;//|FOF_SILENT;
if(!showProgress)
FileOp.fFlags!=FOF_SLIENT; //不显示进度对话框
FileOp.fAnyOperationsAborted=FALSE;
FileOp.hNameMappings =NULL;
FileOp.lpszProgressTitle ="正在执行删除操作";
int rval=SHFileOperation(&FileOp);
if(rval==0)
{
if(FileOp.fAnyOperationsAborted==TRUE)
{
AfxMessageBox("删除项目操作被取消!",MB_OK);
}
else
{
AfxMessageBox("删除目录操作成功!",MB_OK);
}
}
else
{
AfxMessageBox("删除项目操作失败!",MB_OK|MB_ICONEXCLAMATION);
}
}
8: 捕获 Ctrl+鼠标左键 组合
WM_LBUTTONDOWN消息
//鼠标消息
SHORT iState=GetKeyState(VK_CONTROL);
int i=iState>>7;
if (i==-1)
AfxMessageBox("Ctrl+LButton");
- tip&trick in visual c++
- Tip&Trick in Visual C++2
- one trick in C pointer.
- Tip/Trick: Guard Against SQL Injection Attacks
- Tip/Trick: Url Rewriting with ASP.NET
- C+++TIP
- zz - Visual Studio trick to quickly find any file in solution
- C之小trick
- C/C++编程Trick
- C. Magic Trick
- objective-c 入门tip
- Groovy Tip 36 “in”关键字
- C/C++常用trick整理
- codeforces 452 C. Magic Trick
- trick
- Trick
- trick
- Blog of Visual Studio 2005 Tip
- Re: wander.cpp position update
- Draw2D备忘
- 关于InvocationHandler的学习心得
- 有感
- ase12.5与数据库
- tip&trick in visual c++
- Re: Action to manually drive the robot ** Re: Keyboard input.
- 用javascript操作xml (转贴)
- 一个完整的共享內存类
- 我不知道要怎么说呢?
- “用户 'HP-2V47VI88M4GB/ASPNET' 登录失败”的解决方法
- XML 序列化
- 谈:"沉重的翅膀——软件开发,业务?技术? "
- 春风吹又走 秋去秋再来 人生往复复 春秋无记载