我在vb的程序中调用了word,程序运行时,点击某个按钮弹出字体对话框,语句是:
Dialogs(wdDialogFormatFont).Show   我想问的是如何能得到这个字体对话框的句柄???????谢谢

解决方案 »

  1.   

    用这个对话框的窗口标题
    通过FindWindow查找
      

  2.   

    hWndWordApp = FindWindow(vbNullString, "字体")
    Dialogs(wdDialogEditFind).Show
    Call SetParent(hWndWordApp, me.hwnd)
    在那个click事件里我是这么写的,可是不好用呀?帮忙看看有什么问题呢?
      

  3.   


    Dialogs(wdDialogEditFind).Show
    hWndWordApp = FindWindow(vbNullString, "字体")
    Call SetParent(hWndWordApp, me.hwnd)
    在那个click事件里我是这么写的,可是不好用呀?帮忙看看有什么问题呢?
      

  4.   

    因为字体的对话框弹出来的时候,总是先释放程序的主界面,要我再次击活主界面才行.是不是因为我把word的窗体嵌入到vb的窗体中,而字体的对话框又是word自带的,所以用findwindow找不到呢?
      

  5.   

    Dialogs(wdDialogEditFind).Show
    hWndWordApp = FindWindow(vbNullString, "字体")
    do while hWndWordApp=0
       doevents
       hWndWordApp = FindWindow(vbNullString, "字体")
    loop
    Call SetParent(hWndWordApp, me.hwnd)
    在那个click事件里我是这么写的,可是不好用呀?帮忙看看有什么问题呢?
      

  6.   

    不行了,因为hwndwordapp总是等于0的,Dialogs(wdDialogEditFind).Show运行后,要关闭这个对话框程序才能继续执行的,所以hwndwordapp才总是0吧!
      

  7.   

    模式对话框就是必须等对话框关闭后才能执行下面的代码
    我给你列子form1.show
    msgbox "!"form2.show 1
    msgbox "?"
    上面的不需要等form1关闭就执行到了msgbox了
    而下面的必须等form2关闭才能执行到msgbox
      

  8.   

    计时器有什么用呀,不知道为什么要用它呢,我以为只要用findwindow就能找到了呢?不明白你的意思.如果把word字体的对话框作为不个外部程序呢?那样怎么能获得它的句柄呢?原来以为用setparent就能解决的问题这么麻烦,我想得脑袋都要破了!!!
      

  9.   

    Hookie
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  10.   

    Dialogs(wdDialogFormatFont).Show里的wddialogformatfont在运行时的信息是117,那是不是可以写成  Call SetParent(117, me.hwnd) 
    Dialogs(wdDialogEditFind).Show
    这样是不是应该能行呢?
      

  11.   

    我现在用这个怎么有的时候好用,
    Call SetParent(117, me.hwnd) 
    Dialogs(wdDialogformatfont).Show
    有的时候就不好用呢,为什么呀???谁能告诉我