2012-11-17 37 views
0

我注意到在对话框程序中需要功能。例如,我可以点击多个按钮,这些按钮需要以相同的方式更新其他控件。现在我只是在适当的地方重复相同的代码。对话框程序中的“功能”

全局对话框“助手”是否可以解决这个问题?

+0

有关您正在编码的框架的更多信息将有助于解答。一般来说:如果它是C,那么是的...全球帮手功能将是一条路。但是当你标记这个C++时,通常会有一个表示对话框的类,而“辅助函数”只是该类的私有方法。 – HostileFork

+0

对不起,这是一个本机Windows C++程序,但我直接与Win32 API交互以创建对话框,控件等。我相信dialogproc需要是静态的,所以我可以将它放在它自己的类中,并使用一些私有静态成员函数。目前静态dialogproc是在我的主要应用程序类中定义的。 – user987280

+0

我通常会建议使用一些抽象层([WTL](http://en.wikipedia.org/wiki/Windows_Template_Library),也许?)但是,很多这些C++桥做的是将对象指针填入窗口用'SetWindowLong()'和'GWL_USERDATA',然后用'GetWindowLong'在回调过程中将指针拉出......从存根(静态方法或其它)快速转换到它存储的对象上的调用类方法HWND。 – HostileFork

回答

0

您可以将常用功能归入单独的类或模块。让你的对话框类从继承的类继承,或者调用独立函数。

我把这个过程称为这个过程软件演变:重构通用件分成两个或多个软件单元可以使用的单独模块。