[返回博客](/cn/blog) # Teigha BIM 示例应用程序中视觉样式的新功能

Artur Vakhramov 十一月 28, 2017 [\#rfa](/cn/blog/tag/rfa) [\#rvt](/cn/blog/tag/rvt) [\#Example](/cn/blog/tag/example)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

最近，OdaBimApp 示例应用程序中的图形显示选项对话框得到了改进。您现在可以单击“应用”将选定的样式应用到当前视图，而无需关闭对话框。

![image1](/files/inline-images/image001_19.png)“确定”按钮的事件处理程序执行视觉样式的更新并返回到父窗口：

```
void ViewDisplayStyleDialog::OnBnClickedOk()
{
  UpdateData(TRUE);
  updateDBViewVisualStyle();
  CDialog::OnOK();
  m_nModalResult = IDOK;
}

```

取消按钮的事件处理程序执行返回父窗口的操作：

```
void ViewDisplayStyleDialog::OnBnClickedCancel()
{
  CDialog::OnCancel();
  m_nModalResult = IDCANCEL;
}

```

应用按钮的事件处理程序执行视觉样式更新，并向父窗口发送消息以更新渲染：

```
void ViewDisplayStyleDialog::OnBnClickedApply()
{
  UpdateData(TRUE);
  updateDBViewVisualStyle();

  ((OdaBimExViewer*)m_pParentWnd)->invalidateDevice();
  m_pParentWnd->SendMessage(WM_PAINT);
}

```

父窗口的以下函数处理“确定”和“取消”按钮的操作，并已更改为：

```
void OdaBimExViewer::OnViewGraphicDisplayOptions() {
  OdBmDBViewPtr pDBView = getActiveDbView();
  ViewDisplayStyleDialog viewDisplayStyleDialog(pDBView, this);
  viewDisplayStyleDialog.DoModal();
  int modalResult = viewDisplayStyleDialog.GetModalResult();
  if (modalResult == IDOK) {
    m_pDevice->invalidate();

    PostMessage(WM_PAINT);
  }
  else if (modalResult == IDCANCEL) {
    // do nothing
  }
}

```

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
