经常看到API函数里有LPARAM,WPARAM等等的参数.这里的第一个字符都是什么意思的缩写啊.(100分)

  • 主题发起人 主题发起人 3333W
  • 开始时间 开始时间
3

3333W

Unregistered / Unconfirmed
GUEST, unregistred user!
经常看到API函数里有LPARAM,WPARAM等等的参数.这里的第一个字符都是什么意思的缩写啊.<br>最好谁能告诉我有没有这方面的资料可看,(别叫我去买书,me poor)可下载的;<br>受之以鱼的10%的分数,受之以渔的90%的分数~谢谢
 
LPARAM-&gt;longparm<br>WPARAM-&gt;wordparm
 
是有些特殊含义,lp,是为纪念某个人,哪的?我忘了<br>好象是波兰,这些参数的背景知识你可以在《windows程式设计》一书中找到<br>答案,下载地址:<br>http://delphijl.99898.com/delphier/list.asp?id=107<br>那个包里有这本书。<br>给分
 
这两个名字有点历史背景:<br>当WINDOWS是一种16位系统时,WndProc(窗口过程,如下)的第三个参数被定义成WORD,这是一个16的无符号短整数,而第四个参数被定义为一个LONG,这是一个32位有符号的长整数,从而导致了对单词"PARAM"加前缀"W"和"L".当然,在32位的windows中,WPARAM被定义为一个UINT,而LPARAM被定义为一个LONG(就是C中的long数据类型),因此窗口过程的这两个参数都是32位的值.UINT是无符号整数的简写:unsigned int.现在应该很明了了吧,这两个参数在32位的windows里都是32位整数的意思,这只是微软公司的一个创造而已.<br>如果学过C的话,就会知道这些新的数据类型是用typedef 和define转换而来的.<br>至于国内delphi的书,很少有讲这方面的,建议去看一本&lt;windows程序设计&gt;,很经典的一本书,如果你只想搞懂这些数据类型的话,看完前两章就可以了.等你深入delphi后,你会发现,学习这些SDK编程,会对你增加编程功力大有帮助.本书有电子版,可以google里去查...祝好运!<br>用C编写windows程序时的窗口过程一般为以下格式:<br>LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)<br>{<br> HDC hdc;<br> PAINTSTRUCT ps;<br> RECT rect;<br><br> switch(message)<br> {<br> &nbsp; &nbsp;case WM_CREATE:<br> &nbsp; &nbsp; PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);<br> return 0;<br><br> case WM_PAINT:<br> hdc=BeginPaint(hwnd,&amp;ps);<br> GetClientRect(hwnd,&amp;rect);<br> DrawText(hdc,TEXT("hello,WindowsXP!"),-1,&amp;rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);<br> EndPaint(hwnd,&amp;ps);<br> return 0;<br><br> case WM_DESTROY:<br> PostQuitMessage(0);<br> return 0;<br><br> }<br> return DefWindowProc(hwnd,message,wParam,lParam);<br>}<br>以上过程又包括了许多新的数据类型,在&lt;windows程序设计&gt;中有详细介绍,如果你E文好的话,可以直接去看MSDN,只可惜我不会...郁闷!!!<br>
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
1K
import
I
后退
顶部