用FindWindow()其它应用程序窗口句柄;  
并用FindWindowEx()取得窗口中CoolBar句柄;  
可无法再取得CoolBar中ToolBar和ToolButton句柄,如何控制ToolButton
在线!!!
另:为什么只能给100分不能多吗?

解决方案 »

  1.   

    首先ToolButton是没有句柄的
    如果要控制只能是截取鼠标的按下的消息,鼠标的定位可以将当前的窗口拷贝到画图工具中,看看按钮的位置,注意要减去标题栏的高度
      

  2.   

    TToolButton继承的是TGraphicControl,没有句柄的
      

  3.   

    给那程序发消息吧,看看VCL中有没有控制ToolButton的消息
      

  4.   

    给ToolBar发送消息来控制ToolButton,好好用下面这些消息吧。
      // Toolbar custom draw return flags
      {$EXTERNALSYM TBCDRF_NOEDGES}
      TBCDRF_NOEDGES              = $00010000;  // Don't draw button edges
      {$EXTERNALSYM TBCDRF_HILITEHOTTRACK}
      TBCDRF_HILITEHOTTRACK       = $00020000;  // Use color of the button bk when hottracked
      {$EXTERNALSYM TBCDRF_NOOFFSET}
      TBCDRF_NOOFFSET             = $00040000;  // Don't offset button if pressed
      {$EXTERNALSYM TBCDRF_NOMARK}
      TBCDRF_NOMARK               = $00080000;  // Don't draw default highlight of image/text for TBSTATE_MARKED
      {$EXTERNALSYM TBCDRF_NOETCHEDEFFECT}
      TBCDRF_NOETCHEDEFFECT       = $00100000;  // Don't draw etched effect for disabled items  {$EXTERNALSYM TB_ENABLEBUTTON}
      TB_ENABLEBUTTON         = WM_USER + 1;
      {$EXTERNALSYM TB_CHECKBUTTON}
      TB_CHECKBUTTON          = WM_USER + 2;
      {$EXTERNALSYM TB_PRESSBUTTON}
      TB_PRESSBUTTON          = WM_USER + 3;
      {$EXTERNALSYM TB_HIDEBUTTON}
      TB_HIDEBUTTON           = WM_USER + 4;
      {$EXTERNALSYM TB_INDETERMINATE}
      TB_INDETERMINATE        = WM_USER + 5;
      {$EXTERNALSYM TB_MARKBUTTON}
      TB_MARKBUTTON           = WM_USER + 6;
      {$EXTERNALSYM TB_ISBUTTONENABLED}
      TB_ISBUTTONENABLED      = WM_USER + 9;
      {$EXTERNALSYM TB_ISBUTTONCHECKED}
      TB_ISBUTTONCHECKED      = WM_USER + 10;
      {$EXTERNALSYM TB_ISBUTTONPRESSED}
      TB_ISBUTTONPRESSED      = WM_USER + 11;
      {$EXTERNALSYM TB_ISBUTTONHIDDEN}
      TB_ISBUTTONHIDDEN       = WM_USER + 12;
      {$EXTERNALSYM TB_ISBUTTONINDETERMINATE}
      TB_ISBUTTONINDETERMINATE = WM_USER + 13;
      {$EXTERNALSYM TB_ISBUTTONHIGHLIGHTED}
      TB_ISBUTTONHIGHLIGHTED   = WM_USER + 14;
      {$EXTERNALSYM TB_SETSTATE}
      TB_SETSTATE             = WM_USER + 17;
      {$EXTERNALSYM TB_GETSTATE}
      TB_GETSTATE             = WM_USER + 18;
      {$EXTERNALSYM TB_ADDBITMAP}
      TB_ADDBITMAP            = WM_USER + 19;
      

  5.   

    TToolBar是从TToolWindow继承的,是有窗口句柄,可以找到,而ToolButton是没有窗口句柄的,所以你找不到。