Matt__W 发表于 2008-10-29 15:08:37

将焦点设置为绘图区域

有人能给我指一下正确的方向吗?我知道有一种方法可以在单击非模态窗体上的按钮后将焦点设置到绘图区域。我想这和申请标题有关??但我不能百分百确定。
有人吗?
**** Hidden Message *****

deegeecees 发表于 2008-10-29 16:50:31

你是说像这样?
Dim X As New EventClassModule
Sub InitializeEvents()
    Set X.App = ThisDrawing.Application
End Sub
Call InitializeEvents
然后我相信你可以使用Setfocus到应用x。我可能是错的,有一段时间没有编码了。

Matt__W 发表于 2008-10-30 08:31:24


谢谢<昨晚我为AppActivate找到了一些东西——这似乎把蛛网都解开了。

Rogue 发表于 2008-10-31 06:48:19

您提到了无模式窗口。此代码是否从 autocad 内部运行?㞖。请记住,如果你的代码最终进入模式对话框,你的代码就会沉没......您的应用程序将永远等待,并且您关闭窗口的代码将永远不会被调用。
如果它从 autocad 外部运行,并且您已经在 Acad 应用程序上使用 OLE,则每个图形窗口都有自己的 hWnd,而不仅仅是父应用程序。 这意味着您不必使用“FindWindow”和“EnumChildWindows”API调用进行隧道传输。
我会在对话框出现之前得到“ThisDrawing.hwnd”,并使用“SetActiveWindow”API调用直接到hwnd:
Declare Function SetActiveWindow Lib“user32.dll”(ByVal hwnd As Long)一直

Matt__W 发表于 2008-10-31 08:28:07

谢谢
页: [1]
查看完整版本: 将焦点设置为绘图区域