【C#】TreeViewコントロールのスクロールバー制御
関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
ようやっと,わかった!
なんのことはない,Win32APIを叩けばよかったんですね
今回,仕事で水平方向のスクロールバーの位置情報の取得と
復元方法がどうしても必要になって
調べていったら,Win32の
-
GetScrollInfo()
SetScrollInfo()
C#で書き起こしてみましたわん
[StructLayout(LayoutKind.Sequential)] public struct SCROLLINFO { public uint cbSize; public uint fMask; public int nMin; public int nMax; public uint nPage; public int nPos; public int nTrackPos; } public enum ScrollBarDirection { SB_HORZ = 0, SB_VERT = 1, SB_CTL = 2, SB_BOTH = 3 } private enum ScrollInfoMask { SIF_RANGE = 0x1, SIF_PAGE = 0x2, SIF_POS = 0x4, SIF_DISABLENOSCROLL = 0x8, SIF_TRACKPOS = 0x10, SIF_ALL = SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS } [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int GetScrollInfo (IntPtr hWnd, int fnBar, ref SCROLLINFO info); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SetScrollInfo(IntPtr hwnd, int bar, ref SCROLLINFO si, int fRedraw); private void hogehoge() { SCROLLINFO SCInfo = new SCROLLINFO(); SCInfo.cbSize = (uint)Marshal.SizeOf(SCInfo); //この2行は必須 SCInfo.fMask = (int)ScrollInfoMask.SIF_ALL; GetScrollInfo(ctTreeView.Handle, (int)ScrollBarDirection.SB_HORZ, ref SCInfo); //水平方向のスクロール情報を保存 SetScrollInfo(ctTreeView.Handle, (int)ScrollBarDirection.SB_HORZ, ref m_SCInfo, 0); //水平方向のスクロール情報を設定 }この例だと,水平スクロールバーの情報だけ,取得,設定できますです
垂直スクロールバーは,まぁ,ちょろっと変えれば,実現できるか,と
コメント
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ
今日は謎の宴会らしい...スーツが入るのかっ!?(GRB爆
「侍ジャパン」宮崎県入り 「プレミア12」向け きょうから合宿
【#総選挙】 衆議院選挙 きょう投票 ...ドロドロドロ(24/10/27)
【#線状降水帯】宮崎 延岡「土砂崩れで家がつぶれている」通報 1人不明(24/10/23)
【冬】お~日本海に筋雲が出ちょる!冬がキター
【#寒冷前線】13時頃30℃の気温が今は25℃無いぞー