⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vb,sendmessage函数巧应用,珠江路在线.htm

📁 自己总结的一些VB资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://www.zhujiangroad.com/html/soft/s3726.html -->
<HTML><HEAD><TITLE>VB教程,VB案例:SENDMESSAGE函数巧应用,VB源码,VB代码,VB源码下载,VB实例,VB安全漏洞,</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=,SENDMESSAGE函数巧应用 name=DESCRIPTION><LINK 
href="VB,SENDMESSAGE函数巧应用,珠江路在线.files/forum.css" rel=stylesheet>
<SCRIPT language=JavaScript>
<!--
function onok(){
	var check=true;
	if(check){
		document.form1.up_date.value="正在提交..";
		document.form1.up_date.disabled=true;
		return true;
	}else{
		return false;
	}
}
//-->
</SCRIPT>

<META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY vLink=#000000 link=#000000 bgColor=#ffffff leftMargin=3 topMargin=0>
<SCRIPT>
var partnerdomain=escape(document.domain);
var partnerdomain2=partnerdomain.substr(partnerdomain.indexOf("."),partnerdomain.length);
var movie_title=""
document.write("<sc"+"ript src=http://www"+partnerdomain2+"/"+partnerdomain+"_title.js></sc"+"ript>");</SCRIPT>

<SCRIPT>
document.title="VB,SENDMESSAGE函数巧应用,"+movie_title
document.write("<sc"+"ript src=http://www"+partnerdomain2+"/"+partnerdomain+"_top2.js></sc"+"ript>");
</SCRIPT>

<TABLE cellSpacing=0 cellPadding=0 width=877 background="" border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width=180 height=65 rowSpan=2><IMG height=64 
      src="VB,SENDMESSAGE函数巧应用,珠江路在线.files/edu.jpg" width=180></TD>
    <TD class=unnamed1 height=32><A 
      href="http://www.zhujiangroad.com/edu/">学院首页</A> <A 
      href="http://www.zhujiangroad.com/edu/soft.asp" target=_blank>软件应用</A> <A 
      href="http://www.zhujiangroad.com/program/"><FONT 
      color=#ffffff><B>编程开发</B></FONT></A> <A 
      href="http://www.zhujiangroad.com/design/">创意设计</A> <A 
      href="http://www.zhujiangroad.com/school/">认证培训</A> <A 
      href="http://bbs.zhujiangroad.com/list.asp?s=soft" 
    target=_blank>软件论坛</A></TD></TR>
  <TR>
    <TD class=unnamed1 height=33><SPAN class=unnamed1><A class=unnamed1 
      href="http://www.zhujiangroad.com/program/asp.html">ASP</A> <A 
      href="http://www.zhujiangroad.com/program/ASPNET.html">ASP.NET</A> <A 
      href="http://www.zhujiangroad.com/program/PHP.html">PHP</A> <A 
      href="http://www.zhujiangroad.com/program/JSP.html">JSP</A> <A 
      href="http://www.zhujiangroad.com/program/SQL.html">SQL</A> <A 
      href="http://www.zhujiangroad.com/program/MySQL.html">MYSQL</A> <A 
      href="http://www.zhujiangroad.com/program/Java.html">Java</A> <A 
      href="http://www.zhujiangroad.com/program/VB.html">VB</A></SPAN></TD></TR></TBODY></TABLE>
<TABLE class=unnamed1 cellSpacing=0 cellPadding=0 width=877 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width=627>
      <SCRIPT language=JavaScript1.1 
      src="VB,SENDMESSAGE函数巧应用,珠江路在线.files/ad4.js"></SCRIPT>

      <TABLE height=600 cellSpacing=0 borderColorDark=#eceff4 cellPadding=0 
      width="98%" align=center bgColor=#ffffff borderColorLight=#666666 
border=1>
        <TBODY>
        <TR bgColor=#ffffff>
          <TD vAlign=top bgColor=#ffffff>
            <P class=unnamed1>您的位置:<A 
            href="http://www.zhujiangroad.com/edu/">学院</A> &gt;&gt; <A 
            href="http://www.zhujiangroad.com/program/">编程开发</A> &gt;&gt; VB 
            &gt;&gt; SENDMESSAGE函数巧应用</P>
            <TABLE cellSpacing=1 cellPadding=0 width="97%" align=center 
border=0>
              <TBODY>
              <TR>
                <TD height=14>
                  <DIV align=center><BR><B>
                  <H1>SENDMESSAGE函数巧应用</H1></B></DIV></TD></TR>
              <TR>
                <TD vAlign=top><BR><SPAN 
                  class=unnamed1><BR>  在这一期的SendMessage函数应用中,我将向大家介绍如何利用消息函数来扩展树型列表(TreeView)控件的功能相信对于树型列表控件大家十分的熟悉,典型的应用就是Windows资源管理器中的目录列表。在VB中,树型列表控件包含在Microsoft 
                  Windows Common Control 6.0(也可能是5.0,视你的VB或者系统版本而定)中。在Windows 
                  API中,有一系列的以TVM_ 
                  开头的消息值,这些消息就是扩展树型列表控件所特定的消息值,下面向大家介绍其中的一些应用。<BR><BR>  <STRONG>1、设置树型列表控件的背景颜色</STRONG><BR><BR>  首先做如下的定义:<BR><BR>
                  <TABLE width=600 align=center bgColor=#ffffff border=0>
                    <TBODY>
                    <TR>
                      <TD>Private Declare Function SendMessage Lib "user32" 
                        Alias "Send MessageA" (ByVal hwnd As Long,ByVal wMsg As 
                        Long, ByVal wParam As Long,ByVal lParam As Long) As 
                        Long<BR>  Const TV-FIRST = &H1100<BR>  Const 
                        TVM-SETBKCOLOR = TV_FIRST + 
                  29</TD></TR></TBODY></TABLE><BR>  然后再作如下调用:<BR><BR>
                  <TABLE width=600 align=center bgColor=#ffffff border=0>
                    <TBODY>
                    <TR>
                      <TD>Call SendMessage(TreeView1.hwnd, TVM-SETBKCOLOR, 0, 
                        RGB(255, 0, 
                  0))</TD></TR></TBODY></TABLE><BR>  上面的SendMessage调用将TreeView1的背景颜色设置为红色。<BR><BR>  大家可能注意到了。在上面的Sendmessage函数定义中,我们将lParam定义为 
                  ByVal lParam As 
                  Long,而不是象前面的那些范例那样定义为Any或者String类型,关于这个问题,我会在最后的一章中做介绍。<BR><BR>  2、设置树型列表控件标题行高度<BR><BR>  利用TVM_SETITEMHEIGHT消息可以设定控件的标题行的高度,该消息的定义及调用方法如下:<BR><BR>  定义:<BR><BR>
                  <TABLE width=600 align=center bgColor=#ffffff border=0>
                    <TBODY>
                    <TR>
                      <TD> Const TV_FIRST = &H1100<BR>  Const 
                        TVM-SETITEMHEIGHT = TV_FIRST + 27<BR>  Private Declare 
                        Function SendMessage Lib "user32" Alias "SendMessageA" 
                        (ByVal hwnd As Long,ByVal wMsg As Long,ByVal wParam As 
                        Long,lParam As Any) As Long</TD></TR></TBODY></TABLE>  
                  <BR>  调用:<BR><BR>   
                  <TABLE width=600 align=center bgColor=#ffffff border=0>
                    <TBODY>
                    <TR>
                      <TD>CallSendMessage(TreeView1.hwnd, TVM-SETITEMHEIGHT, 
                        60, 
                  0)</TD></TR></TBODY></TABLE><BR><BR>  上面的代码将TreeView1的标题行高度设置到60像素高<BR><BR>  3、为树型列表控件中不同的标题行设置不同的提示<BR><BR>  在第一期的ListBox控件介绍中,我向大家介绍了如何为列表中的每一个标题行设置不同的提示(ToolTips),在这里为要向大家介绍如何为树型列表控件中的每一个标题设置不同的提示。<BR><BR>  同ListBox控件不通,树型列表控件中并没有根据光标位置获得标题行索引的消息,我们需要另外想办法。在TVM类消息中有一个TVM_HITTEST消息,发送该消息可以检测控件表面上的某一点,如果该点位于一个标题上,则返回该标题的句柄。而利用TVM_GETITEM消息,则可以根据标题句柄返回该标题行的文本。所以结合利用这两个消息可以获取光标所在标题行的标题文本。具体的范例代码如下:<BR><BR> <BR><BR>
                  <TABLE width=600 align=center bgColor=#ffffff border=0>
                    <TBODY>
                    <TR>
                      <TD>Option Explicit Private Type TPoint<BR>  x As 
                        Long<BR>  y As Long<BR>  End Type<BR>  Private Type 
                        TVHITTESTINFO<BR>  pt As TPoint<BR>  flags As 
                        Long<BR>  hItem As Long<BR>  End Type<BR>  Private Type 
                        TVITEM<BR>  mask As Long<BR>  HTreeItem As 
                        Long<BR>  state As Long<BR>  stateMask As 
                        Long<BR>  pszText As Long<BR>  cchTextMax As 
                        Long<BR>  iImage As Long<BR>  iSelectedImage As 
                        Long<BR>  cChildren As Long<BR>  lParam As Long<BR>  End 
                        Type<BR>  Const TV-FIRST = &H1100<BR>  Const TVM_HITTEST 
                        = TV-FIRST + 17<BR>  Const TVM_GETITEM = TV-FIRST + 
                        12<BR>  Const TVHT-ONITEMLABEL = &H4<BR>  Const 
                        TVIF-TEXT = &H1<BR>  Const GMEM-FIXED = &H0<BR>  Private 
                        Declare Function Send MessageRef Lib"user32" Alias 
                        "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As 
                        Long,ByVal wParam As Long,lParam As Any) As 
                        Long<BR>  Private Declare Sub CopyMemory Lib "kernel32" 
                        Alias "RtlMoveMemory" (ByVal Destination As String,ByVal 
                        Source As Long,ByVal Length As Long)<BR>  Private 
                        Declare Function GlobalAlloc Lib "kernel32" (ByVal 
                        wFlags As Long, ByVal dwBytes As Long) As 
                        Long<BR>  Private Declare Function GlobalFree Lib 
                        "kernel32" (ByVal hMem As Long) As Long<BR>  Dim 
                        hItemPrv As Long<BR>  Private Sub Form_Load()<BR>  Dim 
                        ndX As Node<BR>  '加入若干Item<BR>  Set ndX = 
                        TreeView1.Nodes.Add(, , "R", "Root")<BR>  Set ndX = 
                        TreeView1.Nodes.Add("R", tvwChild, "Key1", 
                        "Node1")<BR>  Set ndX = TreeView1.Nodes.Add("Key1", 
                        tvwChild, "SubKey1", "SubNode1")<BR>  Set ndX = 
                        TreeView1.Nodes.Add("SubKey1", tvwChild, "SubKeys1", 
                        "SubNode1")<BR>  Set ndX = TreeView1.Nodes.Add("Key1", 
                        tvwChild, "SubKey2", "SubNode2")<BR>  Set ndX = 
                        TreeView1.Nodes.Add("Key1", tvwChild, "SubKey3", 
                        "SubNode3")<BR>  Set ndX = TreeView1.Nodes.Add("Key1", 
                        tvwChild, "SubKey4", "SubNode4")<BR>  End 
                        Sub<BR>  Private Sub TreeView1_MouseMove(Button As 
                        Integer, Shift As Integer, x As Single, y As Single) 
                        <BR>  Dim ptA As TPoint<BR>  Dim tf As 
                        TVHITTESTINFO<BR>  Dim tv As TVITEM<BR>  Dim hStr As 
                        Long<BR>  Dim hItem As Long<BR>  Dim astr As String * 
                        1024<BR>  Dim bstr<BR>  On Error GoTo 
                        errLab<BR>  '获得当前光标所在的位置坐标<BR>  ptA.x = Int(x / 
                        Screen.TwipsPerPixelX)<BR>  ptA.y = Int(y / 
                        Screen.TwipsPerPixelY)<BR>  tf.pt = ptA<BR>  tf.flags = 
                        TVHT_ONITEMLABEL<BR>  '获得光标所在的Item的句柄<BR>  hItem = 
                        SendMessageRef(TreeView1.hwnd, TVM_HITTEST, 0, 
                        tf)<BR>  '如果未获得句柄或者同上一次是同一个Item的句柄则退出<BR>  If ((hItem 
                        &lt;= 0) Or (hItem = hItemPrv)) Then Exit 
                        Sub<BR>  hItemPrv = 
                        hItem<BR>  '分配一定的内存空间用以存储Item的标题<BR>  hStr = 
                        GlobalAlloc(GMEM-FIXED, 1024)<BR>  If hStr &gt; 0 
                        Then<BR>  tv.mask = TVIF_TEXT 
                        <BR>  '获取标题文本<BR>  tv.HTreeItem = 
                        hItem<BR>  'Item句柄<BR>  tv.pszText = 
                        hStr<BR>  tv.cchTextMax = 
                        1023<BR>  '发送TVM_GETITEM获得标题文本<BR>  CallSendMessageRef(TreeView1.hwnd, 
                        TVM-GETITEM, 0, 
                        tv)<BR>  '将标题文本拷贝到字符串astr中<BR>  CopyMemory astr, hStr, 
                        1024<BR>  bstr = Left$(astr, (InStr(astr, Chr(0)) - 
                        1))<BR>  TreeView1.ToolTipText = 
                        bstr<BR>  '释放分配的内存空间<BR>  GlobalFree hStr<BR>  End 
                        If<BR>  Exit Sub<BR>  errLab:<BR>  Resume Next<BR>  End 
                        Sub</TD></TR></TBODY></TABLE> <BR><BR>  运行上面的程序,当光标在TreeView1上面移动时,TreeView1的ToolTips就会根据光标所在的不同标题行而变动。<BR><BR>  以上程序在Win98、Win2000,VB6下运行通过。<BR><BR></SPAN></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD vAlign=top width=250>
      <SCRIPT language=JavaScript1.1 
      src="VB,SENDMESSAGE函数巧应用,珠江路在线.files/ad2.js"></SCRIPT>

      <TABLE cellSpacing=5 cellPadding=2 width=250 align=center bgColor=#ff9933 
      border=0>
        <TBODY>
        <TR>
          <TD>
            <DIV align=center><B 
      class=unnamed1>技术文章快速查找</B></DIV></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=1 cellPadding=2 width=250 align=center bgColor=#ff9933 
      border=0>
        <TBODY>
        <TR>
          <TD bgColor=#ffffff>
            <TABLE cellSpacing=0 cellPadding=0 width=240 align=center 
              border=0><FORM action=http://www.tools123.com.cn/search.asp 
              method=get target=_blank>
              <TBODY>
              <TR>
                <TD vAlign=top noWrap align=left height=32><LABEL 
                  style="DISPLAY: none" for=sbi></LABEL><LABEL 
                  style="DISPLAY: none" for=sbb></LABEL>
                  <DIV align=center><INPUT id=sbi maxLength=200 size=16 
                  value=关键词 name=wd> <INPUT id=sbb type=submit value=搜索 name=Submit> <INPUT 
                  type=hidden value=web name=s> <INPUT type=hidden 
                  value=www.zhujiangroad.com/ name=url2> 
              </DIV></TD></TR></FORM></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
      <TABLE cellSpacing=5 cellPadding=2 width=250 align=center bgColor=#ff9933 
      border=0>
        <TBODY>
        <TR>
          <TD>
            <DIV align=center><B 
      class=unnamed1>栏目导航</B></DIV></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=1 cellPadding=2 width=250 align=center bgColor=#ff9933 
      border=0>
        <TBODY>
        <TR>
          <TD bgColor=#ffffff>
            <TABLE class=unnamed1 cellSpacing=0 cellPadding=1 width="100%" 
            border=0>
              <TBODY>
              <TR>
                <TD bgColor=#cccccc colSpan=3>
                  <DIV align=center>软件应用</DIV></TD></TR>
              <TR>
                <TD width="31%">·<A 
                  href="http://www.zhujiangroad.com/edu/sys.html">操作系统</A></TD>
                <TD width="38%">·<A 
                  href="http://www.zhujiangroad.com/edu/safety.html">杀毒防黑</A></TD>
                <TD width="31%">·<A 
                  href="http://www.zhujiangroad.com/edu/yingyong.html">应用软件</A></TD></TR>
              <TR>
                <TD width="31%">·<A 
                  href="http://www.zhujiangroad.com/edu/chat.html">聊天软件</A></TD>
                <TD width="38%">·<A 
                  href="http://www.zhujiangroad.com/edu/net.html">网络软件</A></TD>
                <TD width="31%">&nbsp;</TD></TR>
              <TR>
                <TD bgColor=#cccccc colSpan=3>
                  <DIV align=center>Web开发</DIV></TD></TR>
              <TR>
                <TD width="31%">·<A 
                  href="http://www.zhujiangroad.com/program/ASP.html">ASP</A></TD>
                <TD>·<A 
                  href="http://www.zhujiangroad.com/program/JavaScript.html">JavaScript</A></TD>
                <TD>·<A 
                  href="http://www.zhujiangroad.com/program/CGI.html">CGI</A></TD></TR>
              <TR>
                <TD width="31%">·<A 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -