当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 要求:在指定路径(例如:d:\123 )文件夹下面,删除所有0字节的文本文件(.txt),其中该文件夹里面有若干.txt文件。 注:最好用批处理写,如果不行其他语言也可以,重要能实现功能就行了 目的:运行程序,该文件夹里面所以0字节文本全部删除,有内容的文本文件不能删除!!! ......
    摘要: 初学j2ee,请大家推荐几本好一点的书,多谢了! ......


给LIST控件发送消息的问题

....  
  ntimes=5;  
  for(i=0;i<ntimes;i++)  
    {  
        int   index=SendDlgItemMessage(hwnd,ID_DLG_LIST,LB_ADDSTRING,0,(LPARAM)buf);  
        //buf是要发送的内容   是个字符指针  
        SendDlgItemMessage(hwnd,ID_DLG_LIST,LB_SETITEMDATA,(WPARAM)index,(LPARAM)ntimes);  
    }  
   
  上面的是从forgets的教程里复制的代码  
   
  不明白的地方是index究竟是干什么用的   教程上说是一个类似指针的东西  
  是为LB_SETITEMDATA提供用处的   可能是这两个消息我不太熟悉      
  能给我讲讲这两个消息的具体过程和原理是什么   那个教程上说的也比较含糊   呵呵  
   
  还有我看SendDlgItemMessage的返回值是LONG类型的   为什么index却用INT类型的  
   
  最后就是ntimes的用处了   这个代码是给一个LIST控件添加上5个一样内容的  
  不明白最后的(LPARAM)ntimes的含义    
   
   
   
  最后还有一个问题   WinMain主函数前面总有一个   WINAPI的含义  
   
  先谢谢大家了

NO.1   作者: CrazyAzreal

int   index=SendDlgItemMessage(hwnd,ID_DLG_LIST,LB_ADDSTRING,0,(LPARAM)buf);  
  这句话是给句柄为hwnd的对话框发送消息,那么具体发送给这个对话框的哪个控件呢?是发送给ID为ID_DLG_LIST的控件,发送一个LB_ADDSTRING消息,这个消息是给该控件的添加一行记录,0和buf分别为这个消息的WPARAM和LPARAM参数,LB_ADDSTRINGP这个消息的WPARAM通常指定为0,而LPARAM则是你要添加的内容。然后就会返回一个值,这个值就是你添加到了哪一行,例如当前控件有7行记录,你执行了一句int   index=SendDlgItemMessage(hwnd,ID_DLG_LIST,LB_ADDSTRING,0,(LPARAM)buf);,那么index的值将是8。  
  那么这一句呢?SendDlgItemMessage(hwnd,ID_DLG_LIST,LB_SETITEMDATA,(WPARAM)index,(LPARAM)ntimes);  
   
  这句话的作用是给指定行添加额外的数据,这个数据是不会显示出来的,如果你给第2行发送了LB_SETITEMDATA消息的话,那么你再对第二行发送LB_GETITEMDATA,就会得到刚才设置的内容。  
   
  那个WINAPI是一个宏,其实是__stdcall,是一个调用约定,引用别的贴子  
  __stdcall实际上是Microsoft对编译器的一个扩展,任何一个支持开发Win32应用程序的编译器都会对此或与此等价的选项。用__stdcall标记的函数将使用标准的调用约定,即这些函数将在返加调用者之间将参数从栈中删除。常规的C/C++调用约定中,栈的清理工作则是由调用者完成的。大多数其他的编程语言,如VB缺省情况下使用的也是标准的调用约定。另外用此方法的原因是早期的Windows是运行于640KB系统上的

NO.2   作者: CrazyAzreal

如果你的ListBox设置了Sort这个样式后,每次插入后的index可能不是按顺序排下来的,因为每次插入时,都会进行排序,所以未必是插在最后面的


 ·求:.net演讲报告资料    »显示摘要«
    摘要: 前一段时间经理要求各成员自学.net,上个星期就要求我下周做一个.net的学习报告 怎么讲呀?望各位能提供一些演讲资料,谢谢! 演讲内容现在未限。 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE