■サイトマップ Search help


Biz/Browserに関する障害レポート


 9017 VisualStyleや画面スケーリング機能利用時のSpread.SetEditorメソッドの動作不具合 

対象バージョン Biz/Browser Ver 5.0.0.0

障害内容 VisualStyleや画面スケーリング機能を有効とした画面にてSpreadのセルへSpread.SetEditorメソッドを利用したオブジェクトの貼り付けを行うと貼り付けたオブジェクトの表示位置がずれたり、貼り付け用のオブジェクトが初期設定位置に戻されてしまう。

[サンプルスクリプト]
 HorizontalScale &= Width/400;
 VerticalScale &= height/210;
 
 Spread sp2 {
  X = 87;
  Y = 90;
  Width = 193;
  Height = 65;
  FontSize = 10;
  SpreadRow Row2[3] {
   Height = 15;
   SpreadColumn Col1 {
    Title = "A";
    Width = 80;
    BgColor = $FFFF99;
   }
   SpreadColumn Col2 {
    Title = "B";
    Width = 80;
    BgColor = $FFFF99;
   }
  }
  Function OnStartEdit( e ) {
   if( e.col == 0 ) {
    Form1.SpEdit = Row2[e.row].col1;
    SetEditor(Form1.SpEdit);
    Form1.SpEdit.Visible = $TRUE;
    Form1.SpEdit.SetFocus();
   }
  }
  Function OnStopEdit( e ) {
   if( e.col == 0 ) {
    Row2[e.row].col1 = Form1.SpEdit;
    Row2[e.row].col2 = Form1.SpEdit;
    Form1.SpEdit.Visible = $FALSE;
    SetEditor();
   }
  }
 }
 TextBox SpEdit {
  X = 87;
  Y = 162;
  Width = 173;
  Height = 15;
  FontSize = 10;
  FgColor = $DBLUE;
  Visible = $False;
  IMEMode = $OPEN;
  FontFace = $ITALIC+$BOLD;
 }

[画面例]
要因 SetEditorメソッド実行時の座標計算に誤りがあった、また、Visibleを切り替えた際に再描画が発生し、その際TextBoxが元の位置へ戻されてしまうという2つの問題が発生する。

対処方法
(方法1) Spreadクラスを利用せず、FlexViewクラスまたは、SSpreadクラスを利用した表作成を行う。
 
(方法2) 改修バージョンへバージョンアップを行う。

改修バージョン

Biz/Browser V Ver 5.0.1.0


■ 障害レポート一覧へ