我已经设置了一个wxAuiManager包含八个文本控件的简单系统,每个控件都设置为一个窗格,所有控件都围绕着一个中央静态控件.我有两个对齐到顶部,左,右和底部窗格方向.这部分工作正常.
我现在想修改每个窗格的属性,我认为可以通过重置关联来完成wxAuiPaneInfo.例如,我想添加/删除引脚或最大化图标.我可以让它自己工作,但重置这些属性后重绘托管窗口被证明是一个挑战.
这是我目前使用的代码:
// Get the currently selected pane
$paneIndex = $this->getSelectedPaneIndex();
/* @var $paneInfo wxAuiPaneInfo */
$paneInfo = $this->getPaneInfoByIndex($paneIndex);
// Set new flag true/false on paneinfo, using setter methods
/* @var $ctrl wxCheckBox */
$ctrl = wxDynamicCast($event->GetEventObject(), "wxCheckBox");
$methods = $this->getPaneSetterMethods();
$method = $methods[$ctrl->GetName()];
$paneInfo->$method($ctrl->GetValue());
/* @var $window \wxTextCtrl */
/* @var $manager \wxAuiManager */
$window = $this->getManagedWindow()->getWindowByIndex($paneIndex);
$manager = $this->getManagedWindow()->getAuiManager();
// This sort of works, but the pane sometimes ends up being moved
$manager->DetachPane($window); …Run Code Online (Sandbox Code Playgroud) 经过一番努力,我为wxPHP编译了PHP模块,并编写了一些脚本来查看它可以做什么.我的第一个演示创建了一个窗口和一个任务栏图标,我无法让后者工作.
我在Ubuntu 14.04 LTS上运行它.
这是我正在使用的脚本:
<?php
// Create an icon (does not appear on Ubuntu 14.04 LTS)
$icon = new wxTaskBarIcon();
echo "Task bar available: " .
(wxTaskBarIcon::IsAvailable() ? 'Yes' : 'No') . "\n";
echo "Create task bar icon: " . ($icon ? 'OK' : 'Failed') . "\n";
$wxIcon = new wxIcon('icon.ico');
$ok = $icon->setIcon($wxIcon);
echo "Set image for icon: " . ($ok ? 'OK' : 'Failed') . "\n";
// Create a window (works fine)
$main = new wxFrame(null, wxID_TOP, …Run Code Online (Sandbox Code Playgroud)