SSpread
Form Form1 { ・・・ SSpread SSpread1 { ・・・ BackColorStyle = $BackColorStyleUnderGrid; /* LeaveCellイベントハンドラ処理判断フラグ */ Number evflg; Function OnRClicked( e ) { /* popupMenuへ表示するメニュー設定 */ var xml_txt = "<?xml version=\"1.0\" encoding=\"SHIFT_JIS\"?> <menudefine> <menuitem id=\"1\" title=\"コメントの追加/編集\" /> </menudefine>"; var domimpl = new xmlDOMImplementation; var dom = domimpl.parse(xml_txt); /* XMLデータをpopupMenuへセット */ var id = popupMenu(dom); if(id == 1){ Col = e.Col; Row = e.Row; /* Dialogを出すとLeaveCellイベントが発生してしまうので フラグを立てる */ evflg = 1; Get("Dialog1.crs"); /* Dialogの表示位置を調整 */ var ret = GetCellPos(e.Col, e.Row); Dialog1.X = //.X + this.X + ret.X + ret.Width + 5; Dialog1.Y = //.Y + this.Y + ret.Y + 45; Dialog1.Form1.StyleEdit1.Value = CellTag; } } /* アクティブセルを移動した場合 */ Function OnLeaveCell( e ) { if(evflg == 0){ Col = e.NewCol; Row = e.NewRow; if(BgColor == $FFCCFF){ /* コメント表示 */ ^.TextFrame1.Visible = $TRUE; /* コメント表示位置調整 */ var ret = GetCellPos(e.NewCol, e.NewRow); ^.TextFrame1.X = this.X + ret.X + ret.Width + 5; ^.TextFrame1.Y = this.Y + ret.Y + 20; ^.TextFrame1.Value = CellTag; }else{ ^.TextFrame1.Visible = $False; } } } } /* コメントを表示するTextFrame */ TextFrame TextFrame1 { ・・・ ScrollBarPosition = $NONE; Border = $TRUE; BgColor = $FFCCFF; Visible = $FALSE; TabIndex = 0; } }
Dialog Dialog1 { ・・・ Form Form1 { ・・・ StyleEdit StyleEdit1 { ・・・ } Function OnKeyDown( e ) { if(e.key == "ESCAPE"){ ^.OnClose(); } } } /* Dialogクローズ時の処理 */ Function OnClose( e ) { //.DecideValue(); ^.BgColor = $FFCCFF; ^.CellTag = Form1.StyleEdit1.Value; this.Delete(); ^.evflg = 0; }
▲ページのトップへ
Form Form1 { ・・・ SSpread SSpread1 { ToolTip = "右クリックするとコンテキストメニューが表示されます"; X = 6; Y = 141; Width = 609; Height = 216; Function OnRClicked( e ) { /* popupMenuへ表示するメニュー設定 */ var xml_txt = "<?xml version=\"1.0\" encoding=\"SHIFT_JIS\"?> <menudefine> <menuitem id=\"1\" title=\"コメントの追加/編集\" /> </menudefine>"; var domimpl = new xmlDOMImplementation; var dom = domimpl.parse(xml_txt); /* XMLデータをpopupMenuへセット */ var id = popupMenu(dom); if(id == 1){ Col = e.Col; Row = e.Row; Get("Dialog2.crs"); /* Dialogの表示位置を調整 */ var ret = GetCellPos(e.Col, e.Row); Dialog2.X = //.X + this.X + ret.X + ret.Width + 5; Dialog2.Y = //.Y + this.Y + ret.Y + 45; } } } }
Dialog Dialog2 { ・・・ Form Form1 { StyleEdit StyleEdit1 { ・・・ } Function OnKeyDown( e ) { if(e.key == "ESCAPE"){ ^.OnClose(); } } } /* Dialogクローズ時の処理 */ Function OnClose( e ) { //.DecideValue(); ^.CellNote = Form1.StyleEdit1.Value; this.Delete(); } }