65.9K
CodeProject 正在变化。 阅读更多。
Home

用 MFC 编写的 Java 'Swing' 风格组件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.75/5 (11投票s)

2000年5月24日

viewsIcon

169166

downloadIcon

2378

一组模仿 Java Swing 外观和感觉的 MFC 类

  • 下载演示项目 - 77 Kb
  • Sample Image - swing.jpg

    引言

    这个库提供了一组 MFC 类,它们复制了 Java Swing 风格的控件。

    我花了整整两个月的时间编写这个库。我受到 Java Swing 组件提供的酷炫 GUI 的启发。虽然我尝试尽可能地进行模拟,但在某些地方这是不可能的。Win32 API 不支持重新绘制滚动条。我也尝试使组合框尽可能地好。进度条看起来更酷,滑块也是如此。我希望你喜欢这些组件 - 但如果你有任何错误修复或建议,请给我发邮件。

    注意:此 MFC 扩展 DLL 的发布版本仅适用于应用程序的发布版本,调试版本适用于应用程序的调试版本。请注意避免错误。

    使用库的方法

    首先你需要编译 Swing 库。解压缩下载的 zip 文件,并在 Swing/ 目录中编译项目。这将为你提供一个 swing.lib 文件用于链接,以及一个 swing.dll 文件,你的应用程序将使用它。

    在你的项目中,请确保包含 "swing.h" 头文件,并链接到 swing.lib 库文件。

    要获得 swing 的外观和感觉,请在应用程序的 InitInstance() 中设置对话框的背景颜色。

    SetDialogBkColor(RGB(204, 204, 204), RGB(0, 0, 0));

    使用类向导为控件创建控件变量。然后将变量类型替换为以下类型

    CButton (按钮) CSwingButton
    CButton (复选框) CSwingCheckBox
    CButton (单选按钮) CSwingRadio
    CEdit CSwingEdit
    CRichEditCtrl CSwingRichEditCtrl
    CProgressCtrl CSwingProgressCtrl
    CComboBox CSwingComboBox
    CSliderCtrl CSwingSliderCtrl
    CWnd CSwingBorderWnd

    要设置按钮的标题,请使用函数

    void SetButtonText (CString pstr)
    CString GetButtonText ()
    

    类似地,对于复选框和单选按钮,请使用

    void SetRadioText (CString pstr)
    CString GetRadioText ()
    
    void SetCheckboxText (CString pstr)
    CString GetCheckboxText()

    对于进度条,请使用

    void SetCaption (CString pstr)
    CString GetCaption ()
    

    你还可以对复选框和单选按钮使用以下方法

    void SetCheck (BOOL check)
    BOOL GetCheck ()
    

    由于所有窗口都是派生类,所有其他成员函数都将正常工作。

    单选按钮存在一个问题。你必须将最后一个单选按钮组之后的控件也设置为组属性。

    我还提供了这样一个功能:如果有一个窗口只需要 swing 边框,你可以使用类向导创建它的变量,并将它的类型设置为 CSwingBorderWnd

    © . All rights reserved.