( ゚Д゚)ノ Delギコ猫のプログラミング相談室part2
856 :
Delギコ:
∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,゚Д゚) < 日本語くちゃくちゃになってしまったの
ヽ/つ且~~ \ゆるしたもれ。
(__ _)
標準コンポTStrGridに対してTMyGridBarを作成しました。
んで、このTMyGridBarはGridプロパでGridを一つ選択できます。
選択したとたんにGridをサブクラス化して
とあるGridに流れるMessageを見てTMyGridBarにお知らせしまする。
で、このTMyGridBarを複数作ってからプロパティで
ひとつのStringGridを指定しました。
StringGridは何回も何回もサブクラス化されまする。
それはうまくいくのですが
857 :
Delギコ:01/09/20 12:15
∧ ∧ コマットルデ
(,,゚Д゚)∫
/ つ旦O
〜(._[ ̄ ̄ ̄.]
 ̄ ̄ ̄
___/\_____
その状態から
MyGridBar1.Gridプロパにnilを代入したときに
(もしくはStringGrid2を代入してもいいよ)
元のStringGrid1のWndProcを正しく戻してやらなきゃいけないのだけど。
それが出来ないの。
通常。サブクラス化では一度StringGridのWndProcをバッファに入れるじゃない。
FOldWndProc := StrGrid.WndProc;
StrGrid.WndProc := NewGridWndProc;//New...はメソッド
で、元に戻すときは
StrGrid.WndProc := FOldWndProc
FOldWndProc := nil;
だよねえ。このStrGrid.WndProcが他の所でサブクラス化されているから
勝手にもとのものを代入していいのかわるいのか…
というか、Delがフリーズしたりアクセスバイオるからダメなんだろう…
うーん、むずかしけりよ。
なんか、複雑に考えすぎているのかな。