碰到一个问题,客户需要从自己的数据库中提取数据并向用友的界面中的Edit里写东西,该怎么实现呢。
界面中还有Grid,Grid又该怎么写数据呢。

解决方案 »

  1.   

    问题是用友在这方面没有给接口,我想通过截获窗体的handle,然后通过发送消息实现,但是不太清楚该怎么写。哪位可以给个案例啊,我的email:[email protected]
    honey_001(雪糕):不要捣乱了,OK?
      

  2.   

    //ͨ¹ýÏûϢΪ´°¿ÚÉÏÏàÓ³µÄ¿Ø¼þ¸¶Öµ
      hw1 := FindWindow(nil, pansichar(winname));  //²éÕÒ¸¸´°¿Ú
      if hw1 <> 0 then
      begin
       SetForegroundWindow(hw1);
       hw2 := GetWindow(hw1,GW_CHILD);
       for i := 1 to 50 do
        begin
          case i of
            5 :
               begin //&ETH;&acute;&Egrave;&euml;±&cedil;×&cent;×&Ouml;&para;&Icirc;
                 SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);
                 SendMessage(hw2,EM_REPLACESEL,0,integer(pchar(Trim(Edit_memo.Text)))); //±&cedil;×&cent;
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;
            12 :   //&ETH;&acute;&Egrave;&euml;&Aacute;&ordf;&Iuml;&micro;&Egrave;&Euml;×&Ouml;&para;&Icirc;
               begin
                 SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);
                 SendMessage(hw2,EM_REPLACESEL,0,integer(pchar(Edit_wellcomman.Text))); //&Aacute;&ordf;&Iuml;&micro;&Egrave;&Euml;
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;
            13 :  //&ETH;&acute;&Egrave;&euml;&frac12;&Oacute;&acute;&yacute;&micro;&yen;&Icirc;&raquo;×&Ouml;&para;&Icirc;
               begin
                 SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);
                 SendMessage(hw2,EM_REPLACESEL,0,integer(pchar(Edit_wellcomeunit.Text))); //&frac12;&Oacute;&acute;&yacute;&micro;&yen;&Icirc;&raquo;
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;
            16 :
               begin
                 //EM_EMPTYUNDOBUFFER
                 //EM_SETMODIFY
                 //EN_CHANGE
                 //EN_SETFOCUS
                 //WM_SETTEXT
                 //WM_GETTEXT             SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);
                 SendMessage(hw2,EM_REPLACESEL,0,integer(pchar(var_addr))); //&micro;&Oslash;&Ouml;·
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;
            37 :
               begin
                 SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);   //&Ouml;¤&frac14;&thorn;&ordm;&Aring;&Acirc;&euml;             SendMessage(hw2,EM_REPLACESEL,0,integer(PChar(var_id)));   //&Ouml;¤&frac14;&thorn;&ordm;&Aring;&Acirc;&euml;
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;        41 :
               begin
                 SendMessage(hw2,WM_SETFOCUS,0,0);
                 SendMessage(hw2,EM_SETSEL,0,-1);   //&ETH;&Otilde;&Atilde;&ucirc;
                 SendMessage(hw2,EM_REPLACESEL,0,integer(PChar(var_name)));   //&ETH;&Otilde;&Atilde;&ucirc;
                 SendMessage(hw2,WM_KILLFOCUS,0,0);
               end;
          end;
          hw2 := GetWindow(hw2,GW_HWNDNEXT);
        end; //for i := 1 to 50 do
      end; //if hw1 <> 0 then这位小弟你可以参考我写的代码,完全能够解决你的问题!!!没有元代码,照样可以操作它的界面元素!!!
      

  3.   

    xta6714(孤独人):代码里怎么那么多乱马啊?有例子吗,可以给发一个吗?