NanaTerry はオリジナルからの流れで Window のドッキングを JVCL に任せている
ググっても英語かロシア語中国語で結局欲しい情報に行き当たらなかったりする
今回はドッキングした状態ではサイズを変えられないようにしたかったので
各々の Constraints を変えればいいと高をくくっていたところ上手くいかなかった
んで JvDockControlForm.pas から JvDockSupportControl.pas に飛んだら Splitter を生成してて
そこにはちゃんと OnCanResize イベントがあったので制御することが出来た
最初は例の type ごまかしで protected メソッドにアクセスしたりして苦労したんだけど
そんなにたいした問題でも無かった
FixedSize:Boolean;//サイズ固定
procedure TNanaMainForm.SplitterCanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
begin
if FixedSize then Accept:=False;
end;
procedure TNanaMainForm.FormCreate(Sender: TObject);
begin
with JvDockServer do
begin
Splitter[JvDockControlForm.dpRight].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpLeft].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpTop].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpBottom].OnCanResize:=SplitterCanResize;
end;
end;
ググっても英語かロシア語中国語で結局欲しい情報に行き当たらなかったりする
今回はドッキングした状態ではサイズを変えられないようにしたかったので
各々の Constraints を変えればいいと高をくくっていたところ上手くいかなかった
んで JvDockControlForm.pas から JvDockSupportControl.pas に飛んだら Splitter を生成してて
そこにはちゃんと OnCanResize イベントがあったので制御することが出来た
最初は例の type ごまかしで protected メソッドにアクセスしたりして苦労したんだけど
そんなにたいした問題でも無かった
FixedSize:Boolean;//サイズ固定
procedure TNanaMainForm.SplitterCanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
begin
if FixedSize then Accept:=False;
end;
procedure TNanaMainForm.FormCreate(Sender: TObject);
begin
with JvDockServer do
begin
Splitter[JvDockControlForm.dpRight].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpLeft].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpTop].OnCanResize:=SplitterCanResize;
Splitter[JvDockControlForm.dpBottom].OnCanResize:=SplitterCanResize;
end;
end;
※コメント投稿者のブログIDはブログ作成者のみに通知されます