VC雕虫小技集(四) (转)

本文汇总了VC++开发中的一些实用技巧,包括查看变量修改位置、跟踪函数调用、模拟鼠标操作、获取进程CPU时间等,帮助开发者提高编程效率。
VC雕虫小技集(四) (转)[@more@] 

VC雕虫小技集(四)

.NET/develop/author/netauthor/he_zhidan/">何志丹

1, 阅读程序常常要看此变量在那些地方值改变过

ctrl+f查找太麻烦

将此变量前加const

改变的地方报错

 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

2, 看一个函数被那些函数调用.

方法:

1,调试状态下,view->debug window->call Stack

2,class view 的快捷菜单中选择called by

 

3, 在状态栏的最左边显示时间

static UINT indicators[] =

{

  ID_SEPARATOR,//我们增加的

  ID_SEPARATOR, 

  ID_INDICATOR_CAPS,

  ID_INDICATOR_NUM,

  ID_INDICATOR_SCRL,

};

 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

  .....  m_wndStatusbar.SetPaneInfo(1,ID_SEPARTOR,SBPS_NORMAL,60);

}

 

//菜单的响应函数

void CMainFrame::OnTest()

{

  CTime t;

  t = CTime::GetCurrentTime();

  CString str = t.Format("%H - %M  -%S");

  m_wndStatusBar.SetPaneText(0,str);

 

}

 

4,模拟鼠标

::SetCursorPos((int)ptMouse->x,(int)ptMouse->y);

::mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); 

::mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 

::mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

::mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

 

5,什么是word, DWORD

 typedef unsigned short WORD

 typedef unsigned long  DWORD

 

6,移动控件

 CWnd * pWnd = GetDlgItem(IDC_BUTTON1);

  CRect r;

  pWnd->GetWindowRect(&r);

  r.left +=50;

  r.right += 50;

  pWnd->MoveWindow(r);

 

7, 如何让对话框中的CEdit响应ENTER键回车

GetDlgItem(IDC_EDIT1)->SetWindowText("111 22");

右键属性

sytle -> Multiline选上

最好把want return 也选上

 

8,将c语言转化为汇编

VC++ provides this feature.

Project->Settings...

C/C++ tab

Category: Choose Listing Files

Listing file type:

select "Assembly with source code"

 

9,如何获得进程所消耗的cpu时间?

BOOL GetProcessTimes(

  HANDLE hProcess,

  LPFILETIME lpCreationTime,

  LPFILETIME lpExitTime,

  LPFILETIME lpKernelTime,

  LPFILETIME lpUserTime

);

 

10,如何通过扩展名得到该扩展名所对应的图标?

SHGetFileInfo(path,

  attr,

  &sfi,

  sizeof(SHFILEINFO),

  SHGFI_USEFILEATTRIBUTES | SHGFI_ICON | SHGFI_TYPENAME);

 

 

 

如何在拉着对话框的边框改变大小时,让它成比例的变化.就像视频播放软件哪样

处理wm_sizing消息

void CTest 1Dlg::OnSizing(UINT fwSide, LPRECT pRect)

{

  CDialog::OnSizing(fwSide, pRect);

  if((fwSide==WMSZ_BOTTOM) || (fwSide==WMSZ_TOP))

  pRect->right=pRect->left+(pRect->bottom-pRect->top)*2; 

  else

  pRect->bottom=pRect->top+(pRect->right-pRect->left)*0.5; 

}


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-962604/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-962604/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值