VSFlexGrid(MSFlexGrid)コントロールで、ある行の操作を不可にするには?

解決


匿名(初心者)  2005-02-14 18:58:20  No: 119634  IP: [192.*.*.*]

初心者な質問失礼します。
現在VB6.0においてVSFlexGridコントロールを使用して、アドレス帳的なものの
編集画面を作成しています。

  | 所属 | 名前 | 電話番号 |・・・
  |  A   |  B   |  XXXX   |・・・
  |  A   |  C   |  YYYY   |・・・
  |  D   |  E   |  ZZZZ   |・・・

この時に、「所属」列のみ操作不可としたい(所属列の内容だけは変更させたくない)のですが、どうもうまくいきません。
(Enabled = Falseのようにしたいのですが、何を指定すればよいのかがわからず。。。今はMSFlexGridのヘルプでCol〜系のプロパティを探しまくっているのですが、良い案が見つかりません(><))

ということで、現在暫定的に
BeforeEdit()とAfterEdit()イベントを使用し、VSFlexGrid.Col=1の時のみ
強引に「所属」列内が変更された/されないにかかわらずTextを元に戻すという、ダサ×2な処理にしています。
違和感ありすぎなので、何か良い手段がございましたら教えていただけますでしょうか?よろしくおねがいします。

編集 削除
匿名(初心者)  2005-02-14 19:04:29  No: 119635  IP: [192.*.*.*]

失礼しました。タイトルが間違っていました。
「VSFlexGrid(MSFlexGrid)コントロールで、ある列の操作を不可にするには?」
                                            ^^
でした(^^;)

編集 削除
みい  2005-02-14 19:55:08  No: 119636  IP: [192.*.*.*]

とりあえず思い付いたのは
・「所属」列を固定列にしてしまう
・BeforeEdit()でVSFlexGrid.Col=1の時のみCancel=True(->編集モードにしない)にする
くらいかな。

編集 削除
匿名(初心者)  2005-02-14 20:09:28  No: 119637  IP: [192.*.*.*]

VSFlexGrid.Col=1の時にCancel=Trueで実行させたところ、
理想の処理にすることが出来ました。
みい様、どうもありがとうございました!!!

編集 削除
せる  2005-04-01 18:17:10  No: 119638  IP: [192.*.*.*]

Formの中にVsflexGridを配置してある。Formサイズを広げるとVsflexGridのサイズも広がるようにしている。広げたときにVsflexGridのセル幅を広げて、Formサイズを縮めたときにセル幅はそのまま維持したい。ところがVsflexGridも縮めると広げたセル幅も自動的に縮まってしまう。横スクロールバーを出して幅は維持したいがどうすればよいのでしょうか?VsflexGridの仕様上無理なのでしょうか?

編集 削除
みい  2005-04-03 09:42:20  No: 119639  IP: [192.*.*.*]

せるさんへ
新しい質問は別スレッドを立てましょう。

環境(VB6,VB.NET等)や
> Formサイズを広げるとVsflexGridのサイズも広がるようにしている。
> 広げたときにVsflexGridのセル幅を広げて、
辺りをどのようなソース書いているか分からないと回答できないです。

編集 削除