掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ToolBarを幅をリサイズするには? (ID:31130)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
春子:「Menu項目を追加した時に、コードでToolBarの幅を広げてもイイと思うけどネ」 真琴:「でもぉ、右端つまんでドラッグ出来たらオモシロイんじゃない?」 春子:「オモシロイ? そんなぁ〜…」 真琴:「ナンて言いながら、もう作っちゃったンだね^^、ハルコさん」 type TToolBar = class(ComCtrls.TToolBar) private FSizing: Boolean; FOffset: Integer; TotalButtonWidth: Integer; procedure WndProc(var Msg: TMessage); override; end; ......... procedure TToolBar.WndProc(var Msg: TMessage); var i: Integer; begin inherited; case Msg.Msg of WM_LBUTTONDOWN: if (Width - Msg.LParamLo) < 4 then begin SetCursor(Screen.Cursors[crHSplit]); FSizing := True; FOffset := Width - Msg.LParamLo; TotalButtonWidth := 0; for i:=0 to ButtonCount-1 do inc(TotalButtonWidth, Buttons[i].Width); end; WM_LBUTTONUP: FSizing := False; WM_MOUSEMOVE: begin if (FSizing)and(Msg.LParamLo > TotalButtonWidth)and(Msg.LParamLo < Parent.Width) then begin Width := Msg.LParamLo + FOffset; end; if (Width - Msg.LParamLo) < 4 then begin if FSizing then SetCursor(Screen.Cursors[crHSplit]) else SetCursor(Screen.Cursors[crSizeWE]); end else begin SetCursor(Screen.Cursors[crDefault]); end; end; end; end; 春子:「だけどネ〜…もしかしたら変な不具合が出るコトだってあるのよ? マコト」 真琴:「不具合? どんな?」 春子:「まだ、全部確かめたワケじゃないの、でもナニか変える時は十分気を付けなきゃネ、マコト」 真琴:「そうだよね、ハルコさん、…アタシも変えたいと思う時は気をつける…」 春子:「ン? マコトもナニか変えたいコトあるの?」 真琴:「うん、アタシ…、おじいちゃんだけは、どうしても助けたいの」 春子:「えっ? マサルさんを? マサルさんがどうかしたの? マコト」 真琴:「でも、まだ1年以上先のコト…時間はあるし、一番イイ方法を考えなきゃ…」 春子:「またぁ…、もうどんなオモシロイこと言ってもズル休みはさせないからネ」 真琴:「そんなツモリないよ、ハルコさん、分かってと言ってもムリだと思うけど…」 春子:「ほかにもオモシロイ話あったら、聞いてあげるよ? マコト」 真琴:「もう^^;、チャカさないでよ、ハルコさん」 春子:「マコトがジツはマサルさんのお母さんだった…ナンて話でもオモシロイよね」 真琴:「うっ、それはシリアス過ぎて…笑えないよ;、ハルコさん」 春子:「エッ!?…」 真琴:「あれ? ホンキにした? ハルコさん^^」
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.