VC雕虫小技集(六)

原创 2003年09月15日 23:50:00
 

VC雕虫小技集()

何志丹

1,,如何取得Tree Control上的CheckBox状态~

OnInit中加:

m_treeCtrl.InsertItem("item1");

m_treeCtrl.InsertItem("item2");

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

void CCDialogDlg::OnButton1()

{

       HTREEITEM hItem = m_treeCtrl.GetRootItem();

       while(NULL != hItem)

       {

              CString str= m_treeCtrl.GetItemText(hItem);

              if("item2" == str)

              {

                     if(m_treeCtrl.GetCheck(hItem))

                            AfxMessageBox("选中");

              }

              hItem = m_treeCtrl.GetNextVisibleItem(hItem);

       }

}

 

2,怎么用一个程序向另一个程序发送字符并让其显示出来

首先通过FindWindow取得windows程序的窗口句柄,

然后通过GetDlgItem取得其中输入框的窗口句柄,

最后,向该窗口句柄发送WM_CHAR消息即可显示字符

例如,对于Notepad窗口,可以以如下的方式向其中输入一个'a':

取得记事本的窗口句柄

HWND hWnd = ::FindWindow( NULL  , "未定标题 - 记事本" );

取得其中输入框的窗口句柄

HWND hEdit = ::GetDlgItem( hWnd , 0x0F );  // 这里0x0F是编辑框的ID,可在SPY++中观察得到

向输入框中填写'a'

::SendMessage( hEdit , WM_CHAR , (WPARAM)'A' , 0x00000001 );

 

3, 当前时间:

CTime t  = CTime::GetCurrentTime();

       CString str;       str.Format("%d-%d-%d",t.GetYear(),t.GetMonth(),t.GetDay());

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

       AfxMessageBox(str);

一定要用CTime::GetCurrentTime();GetCurrentTime()是一个过时的函数.

 

4, //改变按钮的背景色。

HBRUSH CRectWindow2View::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

       HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);

               switch (nCtlColor)

    {

        case CTLCOLOR_BTN:

         {

          CBrush Brush (RGB (128 , 0 , 128) );//你的颜色

 

          CBrush* pOldBrush = pDC->SelectObject(&Brush);

 

          pDC->SelectObject (pOldBrush );

           }

    }

        return CFormView::OnCtlColor(pDC, pWnd, nCtlColor);

}

 

5, 加速键的使用.

 Dlg的头文件中加入:

       HACCEL m_hAccel;

Dlg的构造函数中加载加速键:

基于对话框的程序如何使用加速键?      

m_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));//加速键ID

重载PreTranslateMessage函数:

BOOL CDlg::PreTranslateMessage(MSG* pMsg)

{

       // TODO: Add your specialized code here and/or call the base class

       if(m_hAccel!=NULL)

              if(::TranslateAccelerator(m_hWnd,m_hAccel,pMsg))

                     return TRUE;

       return CDialog::PreTranslateMessage(pMsg);

}

 

6,怎么把一个文件保存到其它地方?

if(!CopyFile("f://he.txt","d://he1.txt",true))

       {

              if(IDOK == MessageBox("有同名文件,你要覆盖吗?",NULL,MB_OKCANCEL))

              {

                     CopyFile("f://he.txt","d://he1.txt",false);     

              }

              else

                     return;

       }

       DeleteFile("f://he.txt");

 

 

VC雕虫小技集

1,避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).        CTime t = CTime::GetCurrentTime();        int n = ...
  • 52java
  • 52java
  • 2004年06月25日 23:12
  • 1772

VC雕虫小技集(七)

  VC雕虫小技集(七)何志丹1,图片控件右键属性 type : bitmap你直接选image也行IDB_BITMAP1位图的IDm_ctrl 是与图片控件相关联的控制型变量void CDlg2Dl...
  • he_zhidan
  • he_zhidan
  • 2003年09月15日 23:50
  • 2869

VC雕虫小技集(四)

  VC雕虫小技集(四)                                                                                      何志...
  • he_zhidan
  • he_zhidan
  • 2004年06月03日 11:00
  • 3281

VC雕虫小技集(三)

  VC雕虫小技集(三)何志丹1,固定窗口大小,最大值为(600,400),最小值也为(600,400).void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR...
  • he_zhidan
  • he_zhidan
  • 2003年09月15日 23:49
  • 3187

VC雕虫小技集(二)

  VC雕虫小技集(二)何志丹1,如果你没有定义_UNICODE,则LPCTSTR代表 const char * ,因此直接使用就可以了. 如果定义了_UNICODE ,LPCTSTR代表 const...
  • he_zhidan
  • he_zhidan
  • 2004年06月03日 11:00
  • 3275

VC雕虫小技集(五)

 VC雕虫小技集(五)何志丹1,vc中右键点击一个类或宏,可以察看他的定义,但如何返回初始地方呢?   install visual assist, and use Alt+left arrow   ...
  • he_zhidan
  • he_zhidan
  • 2003年09月15日 23:50
  • 2447

VC雕虫小技集(1-7)

VC雕虫小技集(一)避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).       CTime t = CTime::GetCurrentTime();       in...
  • churenxh
  • churenxh
  • 2009年03月31日 11:21
  • 967

VC雕虫小技集(一)

    VC雕虫小技集(一)何志丹1,避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).       CTime t = CTime::GetCurrentTime();...
  • he_zhidan
  • he_zhidan
  • 2004年06月03日 11:00
  • 6207

VC雕虫小技集(1~7)

VC雕虫小技集(一)何志丹 1,避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).        CTime t = CTime::GetCurrentTime();  ...
  • ByronLiu
  • ByronLiu
  • 2004年06月25日 20:54
  • 1626

VC雕虫小技集(1~7)

VC雕虫小技集(一)1,避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).       CTime t = CTime::GetCurrentTime();       ...
  • guanchanghui
  • guanchanghui
  • 2007年05月31日 17:04
  • 1249
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC雕虫小技集(六)
举报原因:
原因补充:

(最多只允许输入30个字)