ガントマップのタイムスケール幅を制限するにはどうすればいいですか?


VARCHart Xuantはインタラクティブなガントグラフコントロールであり、モジュール化された設計により、お客様とお客様のニーズを満たすアプリケーションを作成できます.(私たちがリードしているガントグラフコントロールVARCHart XGAntは.NET、ActiveX、ASP.NETアプリケーションに使用できます.)それ以外に、安定した信頼性の高いガントグラフツールもあり、最初の行のコードを書く前に、お客様のニーズを満たすことができるかどうかを知ることができます.VARCHART XGAntは、アプリケーションに迅速かつ簡単に統合でき、パフォーマンスのボトルネックを特定し、遅延を回避し、リソースを効率的に利用でき、複雑なデータをより容易に理解できます.
この記事では、VARCHART XGAntを使用しているときによくある質問と、質問に対する回答~時間スケール幅をどのように制限するかの質問について紹介します.この問題はActiveX版と.NET版の回答~
カーソル幅を制限するにはどうすればいいですか?(ActiveX版)
マウスの左ボタンを押しながら可視領域の左端のタイムスケールに触れてタイムスケールを拡大すれば、1000%をはるかに超えるファクタを簡単に達成できます.これを制御するには、OnTimeScaleイベントを使用します.次の例では、最大2倍に拡大する方法を示します.
サンプルコード
Private Sub VcGantt1_OnTimeScaleSectionRescale(ByVal timeScale As _
 VcGanttLib.VcTimeScale, ByVal sectionIndex As _
 Integer, ByVal newBasicUnitWidth As Long, _
 returnStatus As Variant)
 Dim nOldUnitWidth As Long
 nOldUnitWidth = timeScale.Section(sectionIndex).UnitWidth
 If newBasicUnitWidth > (2 * nOldUnitWidth) Then
 timeScale.Section(sectionIndex).UnitWidth = 2 * nOldUnitWidth
 returnStatus = vcRetStatFalse
 End If
End Sub

カーソル幅を制限するにはどうすればいいですか?(.NET版)
マウスの左ボタンを押しながら可視領域の左端のタイムスケールに触れてタイムスケールを拡大すれば、1000%をはるかに超えるファクタを簡単に達成できます.これを制御するには、VcTimeScaleイベントを使用します.次の例では、最大2倍に拡大する方法を示します.
サンプルコードVB.NET
Private Sub VcGantt1_VcTimeScaleSectionRescaling(ByVal sender As Object,
ByVal e As NETRONIC.XGantt.VcTimeScaleSectionRescalingEventArgs) Handles
VcGantt1.VcTimeScaleSectionRescaling
 Dim nOldUnitWidth As Long
 Dim returnStatus As VariantType
 nOldUnitWidth = e.TimeScale.Section(0).UnitWidth
 If (e.NewBasicUnitWidth > (2 * nOldUnitWidth)) Then
 nOldUnitWidth = 2 * nOldUnitWidth
 returnStatus = e.ReturnStatus.vcRetStatFalse
 End If
End Sub

サンプルコードC#
private void VcGantt1_VcTimeScaleSectionRescaling(object sender,
NETRONIC.XGantt.VcTimeScaleSectionRescalingEventArgs e)
 {
 long nOldUnitWidth = e.TimeScale.get_Section(0).UnitWidth;
 object returnStatus = e.ReturnStatus;
 if (e.NewBasicUnitWidth > (2 * nOldUnitWidth))
 {
 nOldUnitWidth = 2 * nOldUnitWidth;
 }
 }