いつも助けてもらい、お世話になっています。現在VB6.0で開発しています。SP無し。ちょっと分からない部分があるので説明します。MSFlexGrid(フレキシブルグリッド)で@Colの固定列をクリックでそのCol列一列反転--(反転させたらそのまま反転させておく)ARowの固定列をクリックでそのRow列一列反転--(反転させたらそのまま反転させておく)Bセル一個一個クリックすると反転------------(反転させたらそのまま反転させておく)Cドラッグしたところはすべて反転------------(反転させたらそのまま反転させておく)D反転したところをクリックして元に戻す(白色)E登録した際に登録し終わったところを順々に反転してる部分を元に戻す(白色) *登録処理はファイル送信してその情報が返ってくるのでそのタイミングで元に戻すという処理なんですが、@ABはなんとか出来たんですが、Dで元に戻すときにクリックしてもすぐには元に戻らず違うセルをクリックしたときに元に戻ってしまいます。Refleshをしても駄目でした。Cのドラッグも一列ならなんとかできるかもしれませんが、2列、3列分のドラッグだと難しくてできません。(例えばCOl=2Row=2からCOl=8Row=8などのドラッグ)Eのような仕様だとこれはすべてのセルの情報を構造体で持って判断した方がよいのでしょうか?ご存知の方いたらよろしくお願いします。
よく似た処理をここのHPの「複数の任意のデータを任意の位置に貼付ける」でもしているのですが、クリックした位置を配列に保存しておけば出来るかと思います。ただ、セルの総数が多いと時間がかかったりしますので工夫が必要かと思います。「Clip プロパティ」や「TextMatrix プロパティ」を使用すれば少しは早いかも。マルチポストはマナー違反です。あちらの掲示板もこちらの掲示板もマルチポストは禁止されています。尚、 数字に丸 等の文字は機種依存文字で半角カタカナ同様文字化けの対象となりインターネットではご法度です。