動作確認
C++ Builder XE4
TeeChartではマウス右クリックをしてドラッグすることで、グラフの表示範囲をずらすことができる。
ユーザがこのずらす処理をしたかどうかをコードで検知したい(処理を分岐するため)。
現在までわかっているのは以下。
- Chart1->Panning->X0; (とY0, X1, Y1)は最初0となっている
- マウス右クリックでドラッグすると X0, Y0, X1, Y1 の値が0以外になる
- この後でマウス左クリックで右下から左上へ選択して表示範囲を初期状態に戻しても、上記の値4つは0に戻らない。
他にbool値を色々チェックしてみたが、該当のものは見つからず。
try1
Zoom解除動作の時に、X0,Y0,X1,Y1の値を0に入れる方法。
もっとスマートな方法がないものか。
Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
# if 0
bool zmd = Chart1->Zoomed;
bool pnAct = Chart1->Panning->Active;
bool flt = Chart1->Zoom->UpLeftZooms;
# endif
int xval0 = Chart1->Panning->X0;
int yval0 = Chart1->Panning->Y0;
int xval1 = Chart1->Panning->X1;
int yval1 = Chart1->Panning->Y1;
int nop = 1;
}
void __fastcall TForm1::Chart1UndoZoom(TObject *Sender)
{
int nop=1;
Chart1->Panning->X0 = 0;
Chart1->Panning->Y0 = 0;
Chart1->Panning->X1 = 0;
Chart1->Panning->Y1 = 0;
}