VC雕虫小技集(三)

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

VC雕虫小技集()

何志丹

1,固定窗口大小,最大值为(600,400),最小值也为(600,400).

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)

{

    lpMMI->ptMaxTrackSize.x = 600;

       lpMMI->ptMaxTrackSize.y = 400;

       lpMMI->ptMinTrackSize.x = 600;

       lpMMI->ptMinTrackSize.y = 400;

      

       CFrameWnd::OnGetMinMaxInfo(lpMMI);

}

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

2,关闭对话框和窗口:

其实,一般窗口的销毁可以用DestoryWindow(),对话框的销毁可以用EndDialiog().

EndDialog(IDOK);

DoModal()的返回值为IDOK,但不会执行用户定义的OnOK.

只要发送WM_CLOSE消息,就会有响应的函数处理的。

SendMessage(WM_CLOSE);

PostMessage(WM_CLOSE);

void CTestDialog::OnButton1()

{    

       GetParent()->DestroyWindow();

}

窗口和对话框一起关

PostMessage(WM_QUIT);

SendMessage(WM_QUIT);//不行

无模式对话框用DestroyWindow();

EndDialog

你再打开原对话框就有问题

 

3,全局变量的使用:

C***App中定义一个CString

使用时

void CDlgDlg::OnButton2()

{

       ((CDlgApp*)AfxGetApp())->str = "test";

}

不要忘记了包含文件

 

4,如何让dos程序开机自动运行并且不显示

自动运行好解决,写注册表run值,

vc+windows2000

main改为winmain

 

5,清除自动密码历史记录

浏览器中:

工具->Internet选项->内容->"自动完成(U)"按钮->清除密码

http://tzsvc.xiloo.com/skill/sys/clear.htm

SHDeleteKey(HKEY_CURRENT_USER,

_T("Software//Microsoft//Internet Explorer//IntelliForms"));

 

6,执行一个可执行程序

方法一:

 ShellExecute(this->GetSafeHwnd(),"Open","f://he.txt",NULL,NULL,SW_SHOWNORMAL );

方法二:

PROCESS_INFORMATION pi;

    STARTUPINFO si;

    si.cb = sizeof(STARTUPINFO);

    si.lpReserved = NULL;

    si.lpDesktop = NULL;

    si.lpTitle = NULL;

    si.dwFlags = 0;

    si.cbReserved2 = 0;

    si.lpReserved2 = NULL;

    BOOL bres = CreateProcess(NULL,"test a.txt b.txt",NULL,NULL,false,

                        NORMAL_PRIORITY_CLASS,

                        NULL,NULL,&si,&pi);

if(bres==false)

{

AfxMessageBox("CreateProcess failed");

}

else

{

CloseHandle(pi.hThread);

DWORD dwret=WaitForSingleObject(pi.hProcess, 1000*30);

switch(dwret)

{

case WAIT_OBJECT_0:

DWORD dwexitcode;

bres = GetExitCodeProcess(pi.hProcess,&dwexitcode);

TCHAR exitmsgbuf[1024];

if(bres)

{

wsprintf(exitmsgbuf,"exit code:%d",dwexitcode);

}

else

wsprintf(exitmsgbuf,"exit code failed to return");

 

AfxMessageBox(exitmsgbuf);

break;

default:

AfxMessageBox("exit for other reason");,

VC雕虫小技集

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

VC雕虫小技集(二)

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

VC雕虫小技集(七)

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

VC雕虫小技集(五)

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

VC雕虫小技集(四)

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

VC雕虫小技集(六)

  VC雕虫小技集(六)何志丹1,,如何取得Tree Control上的CheckBox状态~ OnInit中加:m_treeCtrl.InsertItem("item1");m_treeCtrl.I...
  • he_zhidan
  • he_zhidan
  • 2003年09月15日 23:50
  • 2290

VC雕虫小技集(一)

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

VC雕虫小技集(1-7)

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

VC雕虫小技集(1~7)

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

VC雕虫小技集(转帖)

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

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