乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: kdub

wxWidgets和Brx/Arx

[复制链接]

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-3 02:11:24 | 显示全部楼层
对于无模式对话框,您需要覆盖 MSWWindowProc 并处理WM_ACAD_KEEPFOCUS messagevirtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);。
WXLRESULT WxArxTestDlg::MSWWindowProc( WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam )。
{。
开关(nMsg)。
{。
案例WM_ACAD_KEEPFOCUS:。
返回 TRUE;。
}。
return wxDialog::MSWWindowProc(nMsg, wParam, lParam);。
}。

回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-3 02:22:19 | 显示全部楼层
WxUserInteraction类是一个帮助类,用于隐藏模态对话框,以便您可以与编辑器进行交互
{
HWND m_activeWindow
std::vector
m_ wnds
公共:
WxUserInteraction()
WxUserInteraction(AcApDocument*pdDocument,bool提示)
虚拟~WxUserInteraction(无效)
受保护:
无效用户交互(AcApDocument*pDocument,bool提示)
void undoUserInteraction()
}
WxUserInteraction::WxUserInteraction()
{
用户交互(acDocManagerPtr()->curDocument(),true)
}
WxUserInteraction::WxUserInteraction(AcApDocument*pdDocument,bool提示)
{
用户交互(pDocument,提示)
}
WxUserInteraction::~WxUserInteraction(void)
{
undoUserInteraction()
}
void WxUserInteraction::用户交互(AcApDocument*pDocument,bool提示)
{
AcApDocManager*pDocMan=acdocmanager()
如果(pDocMan->curDocument()==pDocument)
{
pDocMan->禁用文档激活()
如果(!提示)
返回
HWND-hwMainWnd=adsw_acadMainWnd()
如果(::IsWindowEnabled(hwMainWnd)=TRUE)
返回
m_activeWindow=GetFocus()
for(HWND window=::GetActiveWindow();窗户!=无效的;window=::GetWindow(window,GW_OWNER))
{
如果(窗口==hwMainWnd)
中断
m_wnds.push_back(窗口)
}
::启用窗口(hwMainWnd,TRUE)
::设置焦点(hwMainWnd)
对于(size_t idx=0;idx
{
:显示窗口(m_wnds[idx],SW_HIDE)
}
}
}
<div>void WxUserInteraction::UndoUserInteractions()</div>
{
acDocManagerPtr()->enableDocumentActivation()
如果(m_wnds.size()>0)
{
对于(std::vector
::reverse_iterator it=m_wnds.rbegin();它!=m_ wnds。rend()++it)
{
::ShowWindow(*it,SW_SHOW)
}
::启用窗口(adsw_acadMainWnd(),FALSE)
<div>:设置焦点(m_activeWindow)
}
}
示例
无效WxArxTestDlg::OnButtonClick(wxCommandEvent&event)
{
WxUserInteraction
AcGePoint3d pnt
ads_name name={0L,0L}
if(acedEntSel(_T(“\n选择实体”),name,asDblArray(pnt))==RTNORM)
{

}
事件.跳过()
}
回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-3 02:27:37 | 显示全部楼层
接下来,我将使用对话框创建一个示例,http://www.dialogblocks.com/
回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-3 05:35:31 | 显示全部楼层
请参见http://docs.wxwidgets.org/3.0/overview_xrc.html   。
  。
  。
简单对话框。
  。
  wx vertical  。
  。
  。
1个选项。
  wx all | wx expand  。
10个。

  。
  。
  。
  。
单击。

wxRIGHT。
10个。

  。
  。
确定。

wxLEFT。
10个。

横向的。

  wx all | wx align _ CENTRE  。
10个。




     in On _ kinitapmsg     wxXmlResource::Get()--> Load(" C:\ \ Temp \ \ resource . xrc ");。
       静态void wxrx project _ wx test 6(void)。
{。
wx window * win = WxRxApp::main window();。
if (win)。
{。
wxDialog dlg。
if(wxXmlResource::Get()-> load dialog(& DLG,win," SimpleDialog"))。
dlg,show modal();。
}。
}。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 22:07 , Processed in 0.304556 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表