Lhaz
読み取り中…
検索中…
一致する文字列を見つけられません
lhazcol.h
[詳解]
1/*************************************************************************/
6#pragma once
7
8#include "altstr.hpp"
9#include <vector>
10#include <Windows.h>
11#include "lhazfile.h"
12
13class ARCHIVE;
14
15
16namespace gui {
17
18
23class LVCOLM {
24public:
25 LVCOLM(LHAZFILE::FIELD field, int fmt, UINT idtext, int size, BOOL dsp, UINT idmenu);
26 //
28 int Fmt; // カラムのフォーマット
29 WSTR Text; // カラムの文字列
30 int Size; // デフォルトの横幅
31 BOOL Dsp; // デフォルトで表示するかどうか
32 WSTR Menu; // システムメニューの「表示」に表示する文字列
33};
34
35class LVCOLMS {
36public:
37 struct LVCONTENT {
38 int Index; // カラムのインデックス
39 BOOL Checked; // 表示しているかどうか
40 int Size; // カラムの横幅
41 };
42 //
43 LVCOLMS(
44 HWND hwnd,
45 HMENU memu,
46 int sortkind,
47 int sortrev,
48 int colcont,
49 LVCOLM cols[],
50 const WSTR& regprefix,
51 bool setmenu
52 );
53 ‾LVCOLMS();
54 //
55 LVCONTENT GetContents(int idx) const { return m_contents[idx]; }
56 void SetContent(int idx, const LVCONTENT& con) { m_contents[idx] = con; }
57 BOOL GetChecked(int idx) const { return m_contents[idx].Checked; }
58 void SetSize(int idx, int size) { m_contents[m_disp_conts[idx]].Size = size; }
59 int GetDispCont(int idx) const { return m_disp_conts[idx]; }
60 size_t GetDispContsSize() const { return m_disp_conts.size(); }
61 void SetListView();
62 const WSTR& GetDsp(ARCHIVE* archive, int subitem, int item, bool hastreeview) const;
63 void SetMenu();
64 void CheckMenu(int sortkind, int sortrev);
65 void SetSizeText(int kb_b) { m_view_kb_b = kb_b; }
66 int GetContent(int idx) const { return m_contents[idx].Index; }
67 int GetFmt(int idx) const { return m_columns[m_contents[idx].Index].Fmt; }
68 const WSTR& GetText(int idx) const { return m_columns[m_contents[idx].Index].Text; }
69 void ChangeDisp(bool setmenu);
70 int GetIndex(int subitem) const { return m_contents[m_disp_conts[subitem]].Index; }
71 LHAZFILE::FIELD GetField(int idx) const { return m_columns[m_contents[m_disp_conts[idx]].Index].Field; }
72 int GetSortKind() const { return m_sort_kind; }
73 int GetColCnt(void) const { return m_col_cnt; }
74
75private:
76 HWND m_lv_window; // リストビューのハンドル
77 HMENU m_menu; // ソートメニューのハンドル
78 int m_sort_kind; // ソート種別
79 int m_sort_rev; // ソート逆順
80 std::vector<LVCONTENT> m_contents; // 実際のカラムの表示状況を保持する
81 std::vector<int> m_disp_conts; // 表示しているカラムのインデックスを保持するバッファ
82 int m_view_kb_b; // サイズをKB表示にするかどうか
83 int m_col_cnt; // 対応する全カラムの数
84 LVCOLM* m_columns; // 対応する全カラム一覧
85 WSTR m_reg_prefix; // レジストリに保存する時のプレフィックス
86 //
87 void ReadColumns();
88 void SaveColumns();
89 void UseDefaultDisplay(); // デフォルトのカラム表示を使う
90
91};
92
93
94} // namespace gui
Definition lhazarc.h:25
FIELD
Definition lhazfile.h:16
Definition lhazcol.h:35
size_t GetDispContsSize() const
Definition lhazcol.h:60
void ChangeDisp(bool setmenu)
Definition lhazcol.cpp:65
HWND m_lv_window
Definition lhazcol.h:76
void SetSizeText(int kb_b)
Definition lhazcol.h:65
LVCOLM * m_columns
Definition lhazcol.h:84
LHAZFILE::FIELD GetField(int idx) const
Definition lhazcol.h:71
void SetSize(int idx, int size)
Definition lhazcol.h:58
‾LVCOLMS()
Definition lhazcol.cpp:57
int m_col_cnt
Definition lhazcol.h:83
int m_view_kb_b
Definition lhazcol.h:82
void UseDefaultDisplay()
Definition lhazcol.cpp:251
int m_sort_rev
Definition lhazcol.h:79
const WSTR & GetText(int idx) const
Definition lhazcol.h:68
std::vector< int > m_disp_conts
Definition lhazcol.h:81
void SetContent(int idx, const LVCONTENT &con)
Definition lhazcol.h:56
void SetMenu()
Definition lhazcol.cpp:149
void ReadColumns()
Definition lhazcol.cpp:189
int m_sort_kind
Definition lhazcol.h:78
void SetListView()
Definition lhazcol.cpp:80
LVCONTENT GetContents(int idx) const
Definition lhazcol.h:55
void SaveColumns()
Definition lhazcol.cpp:235
int GetIndex(int subitem) const
Definition lhazcol.h:70
WSTR m_reg_prefix
Definition lhazcol.h:85
int GetContent(int idx) const
Definition lhazcol.h:66
int GetColCnt(void) const
Definition lhazcol.h:73
const WSTR & GetDsp(ARCHIVE *archive, int subitem, int item, bool hastreeview) const
Definition lhazcol.cpp:96
int GetDispCont(int idx) const
Definition lhazcol.h:59
int GetSortKind() const
Definition lhazcol.h:72
HMENU m_menu
Definition lhazcol.h:77
int GetFmt(int idx) const
Definition lhazcol.h:67
void CheckMenu(int sortkind, int sortrev)
Definition lhazcol.cpp:169
BOOL GetChecked(int idx) const
Definition lhazcol.h:57
std::vector< LVCONTENT > m_contents
Definition lhazcol.h:80
リストビューで用いるカラム.
Definition lhazcol.h:23
WSTR Text
Definition lhazcol.h:29
int Fmt
Definition lhazcol.h:28
WSTR Menu
Definition lhazcol.h:32
LHAZFILE::FIELD Field
Definition lhazcol.h:27
BOOL Dsp
Definition lhazcol.h:31
int Size
Definition lhazcol.h:30
Definition lhazbz2.h:17
Definition lhazcol.h:37
BOOL Checked
Definition lhazcol.h:39
int Index
Definition lhazcol.h:38
int Size
Definition lhazcol.h:40