📄 sampledockingmain.cpp
字号:
Sender->OnCreateSideContainer = CreateSiteContainer;
Sender->OnCreateFloatSite = CreateFloatSite;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::CreateFrame(int AFrameClassID, TdxDockPanel* AOwner)
{
TForm* AFrame;
String ACaption;
int AImageIndex;
AImageIndex = -1;
if (AFrameClassID == TreeViewFrame) {
AFrame = new TSampleDockingTreeViewFrame(AOwner);
FTreeViewFrameCount++;
ACaption = "TreeView Panel " + IntToStr(FTreeViewFrameCount);
AImageIndex = 0;
} else
if (AFrameClassID == RichTextFrame) {
AFrame = new TSampleDockingRichTextFrame(AOwner);
FDockingRichTextFrameCount++;
ACaption = "RichText Panel " + IntToStr(FDockingRichTextFrameCount);
AImageIndex = 1;
} else
if (AFrameClassID == RadioGroupFrame) {
AFrame = new TSampleDockingRadioGroupFrame(AOwner);
FRadioGroupFrameCount++;
ACaption = "RadioGroup Panel " + IntToStr(FRadioGroupFrameCount);
AImageIndex = 2;
} else
if (AFrameClassID == ListBoxFrame){
AFrame = new TSampleDockingListBoxFrame(AOwner);
FListBoxFrameCount++;
ACaption = "ListBox Panel " + IntToStr(FListBoxFrameCount);
AImageIndex = 3;
}
AFrame->Parent = AOwner;
AFrame->Align = alClient;
AOwner->Caption = ACaption;
AOwner->ImageIndex = AImageIndex;
AFrame->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::ShowDockControl(
TdxDockSite *Sender, TdxCustomDockControl *AControl)
{
RestorePersistentInfo(AControl);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::HideDockControl(
TdxDockSite *Sender, TdxCustomDockControl *AControl)
{
StorePersistentInfo(AControl);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::AutoHideChanged(
TdxCustomDockControl *Sender)
{
RestorePersistentInfo(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::AutoHideChanging(
TdxCustomDockControl *Sender)
{
StorePersistentInfo(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dpContextPopup(TObject *Sender,
const TPoint &MousePos, bool &Handled)
{
TPoint pt;
GetCursorPos(&pt);
TdxCustomDockControl* AControl = dxDockingController()->GetDockControlAtPos(pt);
if (AControl != NULL) {
FPopupMenuDockControl = AControl;
dxBarButtonDockable->Down = AControl->Dockable;
dxBarButtonFloating->Down = AControl->FloatDockSite == NULL;
dxBarButtonAutoHide->Enabled = AControl->CanAutoHide();
dxBarButtonAutoHide->Down = AControl->AutoHide;
dxBarPopupMenu->PopupFromCursorPos();
Handled = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::EndDock(
TdxCustomDockControl *Sender, TdxZone *Zone, int X, int Y)
{
RestorePersistentInfo(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::StartDock(
TdxCustomDockControl *Sender, int X, int Y)
{
StorePersistentInfo(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::CreateTabContainer(
TdxCustomDockControl *Sender, TdxTabContainerDockSite *ATabContainer)
{
HookupEvents(ATabContainer);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::CreateSiteContainer(
TdxCustomDockControl *Sender,
TdxSideContainerDockSite *ASideContainer)
{
HookupEvents(ASideContainer);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::CreateFloatSite(
TdxCustomDockControl *Sender, TdxFloatDockSite *AFloatSite)
{
HookupEvents(AFloatSite);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::SchemeClick(TObject *Sender)
{
switch (((TComponent*)Sender)->Tag) {
case 0: CreateScheme1(); break;
case 1: CreateScheme2(); break;
case 2: CreateScheme3(); break;
case 3: CreateScheme4(); break;
case 4: CreateScheme5(); break;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton18Click(TObject *Sender)
{
SetPanelsVisibility(true);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton19Click(TObject *Sender)
{
SetPanelsVisibility(false);
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton12Click(TObject *Sender)
{
ClearContent();
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButtonDockableClick(
TObject *Sender)
{
if (FPopupMenuDockControl != NULL) {
FPopupMenuDockControl->Dockable = ((TdxBarButton*)Sender)->Down;
FPopupMenuDockControl = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton22Click(TObject *Sender)
{
if (FPopupMenuDockControl != NULL) {
FPopupMenuDockControl->Visible = false;
FPopupMenuDockControl = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButtonAutoHideClick(
TObject *Sender)
{
if (FPopupMenuDockControl != NULL) {
FPopupMenuDockControl->AutoHide = ((TdxBarButton*)Sender)->Down;
FPopupMenuDockControl = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButtonFloatingClick(
TObject *Sender)
{
TPoint pt;
if ((FPopupMenuDockControl != NULL) && (FPopupMenuDockControl->DockState != dsFloating)) {
GetCursorPos(&pt);
FPopupMenuDockControl->MakeFloating(pt.x, pt.y);
FPopupMenuDockControl = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButtonExitClick(
TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton13Click(TObject *Sender)
{
BarManager->Style = bmsStandard;
dxDockingManager->ViewStyle = vsStandard;
dxStatusBar->PaintStyle = stpsStandard;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton14Click(TObject *Sender)
{
BarManager->Style = bmsXP;
dxDockingManager->ViewStyle = vsXP;
dxStatusBar->PaintStyle = stpsXP;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton15Click(TObject *Sender)
{
BarManager->Style = bmsEnhanced;
dxDockingManager->ViewStyle = vsStandard;
dxStatusBar->PaintStyle = stpsStandard;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton16Click(TObject *Sender)
{
dxDockingManager->ViewStyle = vsOffice11;
BarManager->Style = bmsOffice11;
dxStatusBar->PaintStyle = stpsOffice11;
}
//---------------------------------------------------------------------------
void __fastcall TSampleDockingMainForm::dxBarButton17Click(TObject *Sender)
{
dxDockingManager->ViewStyle = vsNET;
BarManager->Style = bmsFlat;
dxStatusBar->PaintStyle = stpsFlat;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -