乐筑天下

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

wxWidgets和Brx/Arx

[复制链接]

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2016-2-2 22:03:35 | 显示全部楼层 |阅读模式
第1步的另一个尝试是从https://www.wxwidgets.org/downloads/我正在使用3.0.2,这也是本文第2步的最新版本,使用与wxWidgets-x.xx.x\build\msw中的目标“visual studio版本”匹配的解决方案进行编译。构建库,而不是DLL,因为我们将使用静态链接
步骤3,在输出目录,即wxWidgets-3.0.2\lib中,我在库文件夹名称中插入了编译器版本,即从vc_

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-2-2 22:17:03 | 显示全部楼层

我注意到他们也有DotNet二进制文件
http://wxnet.sourceforge.net/binary.html
回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-2 22:24:43 | 显示全部楼层
步骤4,添加一个指向您的wxWidgets文件夹的Windows系统变量,我使用了WxArx步骤5,创建一个Arx项目并将路径添加到您的SDK,我不添加MFC支持。示例包含路径:$(_SDK_PATH_)\inc;$( _SDK_PATH_)\inc-$(PlatformName);$(WxArx)\Include;$(WxArx)\include\msvc示例库路径是:$(_SDK_PATH_)\lib-$(PlatformName);$(WxArx)\lib\vc120_x64_lib定义:__WXMSW__和wxMSVC_VERSION_AUTO将依赖项添加到您将要使用的小部件库中,我将其添加到我的StdAfx.h 。
#define __WXMSW__。
#define wxMSVC_VERSION_AUTO。

#ifdef __WXMSW__。
#include。
#include。
#include。

#pragma comment(lib, “wxbase30u.lib”)。
#pragma comment(lib, “wxtiff.lib”)。
#pragma comment(lib, “wxbase30u_net.lib”)。
#pragma comment(lib, “wxscintilla.lib”)。
#pragma comment(lib, “wxbase30u_xml.lib”)。
#pragma comment(lib, “wxregexu.lib”)。
#pragma comment(lib, “wxexpat.lib”)。
#pragma comment(lib, “wxpng.lib”)。
#pragma comment(lib, “wxjpeg.lib”)。
#pragma comment(lib, “wxmsw30u_xrc.lib”)。
#pragma comment(lib, “wxmsw30u_adv.lib”)。
#pragma comment(lib, “wxmsw30u_webview.lib”)。
#pragma comment(lib, “wxmsw30u_aui.lib”)。
#pragma comment(lib, “wxmsw30u_stc.lib”)。
#pragma comment(lib, “wxmsw30u_core.lib”)。
#pragma comment(lib, “wxmsw30u_richtext.lib”)。
#pragma comment(lib, “wxmsw30u_gl.lib”)。
#pragma comment(lib, “wxmsw30u_ribbon.lib”)。
#pragma comment(lib, “wxmsw30u_html.lib”)。
#pragma comment(lib, “wxmsw30u_qa.lib”)。
#pragma comment(lib, “wxmsw30u_media.lib”)。
#pragma comment(lib, “wxzlib.lib”)。
#pragma comment(lib, “wxmsw30u_propgrid.lib”)。
#endif。


回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-2 22:32:32 | 显示全部楼层

我还没有尝试过这些,可能会很有趣!
回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-2 22:39:09 | 显示全部楼层
接下来,我们需要一个从 wxApp 派生的应用程序类,重要的是我们要定义 IMPLEMENT_APP_NO_MAIN 或 wxIMPLEMENT_APP_NO_MAIN ,因为这是一个插件,我们希望使用主机应用程序消息 //WxRxApp.h。
类 WxRxApp : 公共 wxApp。
{。
公共:。
virtual bool OnInit();。
static bool initWxApp();。
static void uninitWxApp();。
static wxWindow* mainWindow();。
};。
//WxRxApp.cpp。
#include “stdafx.h”。
#include “WxRxApp.h”。
#include “wx/aui/aui.h”。

类 WinFrame : public wxFrame。
{。
公共:。
WinFrame(HWND HWND)。
{。
this->SetHWND(hwnd);。
this->AdoptAttributesFromHWND();。
this->m_isShown = true;。
wxTopLevelWindows.Append(this);。
}。
};。

static WinFrame* getMainWindow()。
{。
静态 WinFrame* win = NULL;。
如果 (win == NULL)。
win = new WinFrame(adsw_acadMainWnd());。
回报赢;。
}。

WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst);。

bool WxRxApp::OnInit()。
{。
wxSetInstance(acrxGetApp()->GetModuleInstance());。
wxTheApp->SetTopWindow(getMainWindow());。
::wxInitAllImageHandlers();。
wxXmlResource::Get()->InitAllHandlers();。
return (wxTheApp->GetTopWindow() != NULL);。
}。

bool WxRxApp::initWxApp()。
{。
if (wxInitialize())。
{。
wxApp::SetInstance(new WxRxApp());。
if (wxTheApp && wxTheApp->CallOnInit())。
返回 true;。
}。
返回 false;。
}。

void WxRxApp::uninitWxApp()。
{。
wxUninitialize();。
}。

wxWindow* WxRxApp::mainWindow()。
{。
return getMainWindow();。
}。

IMPLEMENT_APP_NO_MAIN(WxRxApp); //need this。
IMPLEMENT_WX_THEME_SUPPORT;。
编辑添加了WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst);。
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-2-2 22:46:54 | 显示全部楼层
现在我们可以在On_kInitAppMsg中初始化我们的wxApp,并在On_kUnloadAppMsg中取消初始化    virtual AcRx::apprecode On _ kInitAppMsg(void * PKT){ 。
// TODO:在此加载依赖项。

//您*必须*在此处调用_ kintappmsg 。
AcRx::AppRetCode retCode = acrxaxapp::On _ kintappmsg(PKT);。


如果(!WxRxApp::initWxApp()) //。
acutPrintf(_ T(" \ n初始化wxWidgets时出错\ n ");。

ret(retCode);。
}。

virtual AcRx::AppRetCode On _ kUnloadAppMsg(void * PKT){ 。
// TODO:在此添加您的代码。

WxRxApp::uninitWxApp();。

//您*必须*在此处调用_ kUnloadAppMsg 。
AcRx::AppRetCode retCode = acrxaxapp::On _ kUnloadAppMsg(PKT);。

// TODO:在此卸载依赖项。

ret(retCode);。
}。

回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-2-2 23:01:01 | 显示全部楼层
在第一篇帖子中添加了VS2015项目示例。
回复

使用道具 举报

0

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-2-3 00:37:04 | 显示全部楼层
谢谢丹尼尔。我会尽快去看一看,因为BRX已经在我的待办事项列表上有一段时间了。
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-2-3 02:06:25 | 显示全部楼层

很酷
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-2-3 02:08:48 | 显示全部楼层
示例对话框
类MyDialog:public wxDialog
{
公共:
MyDialog(wxWindow*parent)
<div>无效按钮(wxCommandEvent和事件)
虚拟WXLRESULT-MSWWindowProc(WXUINT-nMsg、WXWPARAM-wParam、WXLPARAM-lParam)
私人版:
wxButton*m_btnModal,
*m_btnmodels,
*m_btnDelete
wxDECLARE_EVENT_TABLE()
}
包括“stdafx.h”
#包括“SampWxDialog1.h”
wxBEGIN_EVENT_TABLE(MyDialog,wxDialog)
EVT_BUTTON(wxID_ANY,MyDialog::OnButton)
wxEND_EVENT_TABLE()
MyDialog::MyDialog(wxWindow*parent)
:wxDialog(父、wxID_ANY、wxString(wxT(“模态对话框”))
{
wxBoxSizer*sizerTop=新的wxboksizer(wxHORIZONTAL)
sizerTop->Add(新的wxButton(这个,wxID_CLOSE),0,wxALIGN_CENTER|wxALL,5)
<div>设置SizerAndft(sizerTop)
SetEscapeId(wxID_CLOSE)
CenterOnParent()
}
<div>作废MyDialog::OnButton(wxCommandEvent&event)</div>
{
如果(this->IsModal())
EndModal(wxID_CANCEL)
其他
这个->销毁()
}
WXLRESULT-MyDialog::MSWWindowProc(WXUINT-nMsg、WXWPARAM-wParam、WXLPARAM-lParam)
{
开关(nMsg)
{
案例WM_ACAD_KEEPFOCUS:
返回TRUE
}
返回wxDialog::MSWWindowProc(nMsg、wParam、lParam)
}
静态无效WxRxProject_
{
wxWindow*win=WxRxApp::mainWindow()
如果(赢)
{
<div>MyDialog客户诊断(win)
custDiag.showmodel()
}
}
静态空隙WxRxProject_wxTest5(空隙)
{
wxWindow*win=WxRxApp::mainWindow()
如果(赢)
{
MyDialog*custDiag=新建MyDialog(win)
custDiag->Show()
}
}
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 21:45 , Processed in 0.256516 second(s), 77 queries .

© 2020-2025 乐筑天下

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