User (Legacy) Posted December 3, 2001 Report Share Posted December 3, 2001 greetings.. using ChartFX 98 in Borland C++ Builder, constant lines are only drawn on Y axis, no matter how I fiddle with this code. (changing AXIS_X to AXIS_Y, etc) any thoughts? if possible, please email back at michael.archambault@thermobio.com, as I've had some troubles using the newsgroup display/search thanks, michael ChartFX1->OpenDataEx(COD_CONSTANTS,3 ,COD_UNCHANGE); CLEPtr = (ICfxConstEnumPtr)ChartFX1->ConstantLine; CLPtr = (ICfxConstPtr)CLEPtr->get_Item(0); CLPtr->set_Value((int)2); CLPtr->set_LineColor((unsigned long)RGB(0,255,0)); CLPtr->set_Axis(AXIS_X); CLPtr->set_Label(StringToOleStr("my label")); CLPtr->set_LineWidth((short)3); CLPtr = (ICfxConstPtr)CLEPtr->get_Item(1); CLPtr->set_Value((int)2); CLPtr->set_LineColor((unsigned long)RGB(0,0,255)); CLPtr->set_Axis(AXIS_Y); CLPtr->set_Label(StringToOleStr("my label2")); CLPtr->set_LineWidth((short)3); ChartFX1->CloseData(COD_CONSTANTS); Link to comment Share on other sites More sharing options...
Software FX Posted December 3, 2001 Report Share Posted December 3, 2001 Did you try the "Constant Lines and Stripes sample ? It creates a vertical and a horizontal constant line. -- FP Software FX, Inc. pointlabels.bmp Link to comment Share on other sites More sharing options...
User (Legacy) Posted December 3, 2001 Author Report Share Posted December 3, 2001 Yes. this is the code from the example: ChartFX1.OpenDataEX COD_CONSTANTS,2,0 ChartFX1.ConstantLine(0).Value = 30 ChartFX1.ConstantLine(0).LineColor = RGB(255,0,0) ChartFX1.ConstantLine(0).Axis = AXIS_Y ChartFX1.ConstantLine(0).Label = "Alarm Limit 1" ChartFX1.ConstantLine(0).LineWidth = 2 ChartFX1.CloseData COD_CONSTANTS this is my code, using Borland C++ Builder:] ChartFX1->OpenDataEx(COD_CONSTANTS,3 ,COD_UNCHANGE); CLEPtr = (ICfxConstEnumPtr)ChartFX1->ConstantLine; CLPtr = (ICfxConstPtr)CLEPtr->get_Item(0); CLPtr->set_Value((int)2); CLPtr->set_LineColor((unsigned long)RGB(0,255,0)); CLPtr->set_Axis(AXIS_X); CLPtr->set_Label(StringToOleStr("my label")); CLPtr->set_LineWidth((short)3); CLPtr = (ICfxConstPtr)CLEPtr->get_Item(1); CLPtr->set_Value((int)2); CLPtr->set_LineColor((unsigned long)RGB(0,0,255)); CLPtr->set_Axis(AXIS_Y); CLPtr->set_Label(StringToOleStr("my label2")); CLPtr->set_LineWidth((short)3); ChartFX1->CloseData(COD_CONSTANTS); NOTE: only the AXIS_Y constant line appears. I do not see any real differences between the two, other than syntax. please help! SoftwareFX Support wrote: > Did you try the "Constant Lines and Stripes sample ? It creates a vertical > and a horizontal constant line. > > -- > FP > Software FX, Inc. Attachments.zip Link to comment Share on other sites More sharing options...
Software FX Posted December 4, 2001 Report Share Posted December 4, 2001 Try changing the order, make the first one to go with Y and the second with X ? any difference ? I suspect that the second assignment: CLPtr = (ICfxConstPtr)CLEPtr->get_Item(1); May not be working properly and therefore the second set of statements is overriding the first. The strange thing is that I have a Borland C++ builder sample (the one downloaded from our support site) that works perfectly. -- FP Software FX, Inc. Link to comment Share on other sites More sharing options...
User (Legacy) Posted December 4, 2001 Author Report Share Posted December 4, 2001 I've tried using up to 5 constant lines, they will always work on the Y axis, and NEVER work on the X axis. I've tried using the label values as the Value prop. for the constant line, I've used index values (ie 1,2...), I've swapped the order around, (ie using Item[0], then Item[1]... then I tried the reverse. At no point does a constant line show up on the xaxis. If I change the code to put a constant line on the Y instead of the X, they all work. what example are you refering to? I got this far by translating the VB example that came in the help files. as far as "CLPtr = (ICfxConstPtr)CLEPtr->get_Item(1);" statement overiding the call to get_Item(0), I've put them in opposite order, I've used only 1 constant line, I've tried all the "normal" translations one would go through to test a problem like this out. The only thing I could think of, was that the parameter to get_Item was wrong, so I tried using the label values, as well as an index that was representative of the number of points on the graph. Nothing worked. any thoughts? SoftwareFX Support wrote: > Try changing the order, make the first one to go with Y and the second with > X ? any difference ? > > I suspect that the second assignment: > > CLPtr = (ICfxConstPtr)CLEPtr->get_Item(1); > > May not be working properly and therefore the second set of statements is > overriding the first. > > The strange thing is that I have a Borland C++ builder sample (the one > downloaded from our support site) that works perfectly. > -- > FP > Software FX, Inc. Link to comment Share on other sites More sharing options...
Software FX Posted December 5, 2001 Report Share Posted December 5, 2001 Go to our support site and under Samples (on the left), select "Borland C++ Builder Samples" -- FP Software FX, Inc. Link to comment Share on other sites More sharing options...
User (Legacy) Posted December 5, 2001 Author Report Share Posted December 5, 2001 thanks. I figured out the problem, it had to do with the scale of the x axis. By setting the min and max to the # of points, I can now just use the point # as an index, and all works ok.. however, how do I get rid of the constant lines? I tried by setting the # of constant lines to 0, with a call to OpenDataEx/CloseData pair, but that doesn't seem to work. any ideas? SoftwareFX Support wrote: > Go to our support site and under Samples (on the left), select "Borland C++ > Builder Samples" > > -- > FP > Software FX, Inc. Link to comment Share on other sites More sharing options...
Software FX Posted December 5, 2001 Report Share Posted December 5, 2001 You can use the ClearData method to clear all the constants. You can also hide the constant lines using the Style property. -- FP Software FX, Inc. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.