(new in Rev4.00)
MQListBox クラスはリストを表示するウィジェットを管理します。MQWidgetBaseクラスを継承しています。
継承元クラスで定義されるメンバ関数はそのクラスの記述を参照してください。
MQListBox::MQListBox();
MQListBox::MQListBox(int id);
コンストラクタです。
virtual MQListBox::~MQListBox();
デストラクタです。仮想関数として定義されます。
int MQListBox::GetCurrentIndex();
現在選択されている項目の番号を取得します。
void MQListBox::SetCurrentIndex(int value);
現在選択されている項目の番号を設定します。
void MQListBox::BeginUpdate();
項目の更新開始を宣言します。
この関数を呼び出した後、項目の追加・削除が終わったらEndUpdate()を呼び出す必要があります。
この関数は必ずしも呼び出す必要はありませんが、多くの項目を追加・削除する際の更新処理が高速化され、また更新前後でのスクロール位置が出来る限り保持されます。
void MQListBox::EndUpdate();
項目の更新終了を宣言します。
BeginUpdate()を呼び出した後、項目の追加・削除が終わったらこの関数を呼び出す必要があります。
int MQListBox::AddItem(const std::wstring& text);
int MQListBox::AddItem(const std::wstring& text, __int64 tag);
項目を追加します。
項目には表示される文字列とは別に任意の値を割り当てることができます。
void MQListBox::DeleteItem(int index);
指定したインデックスの項目を削除します。
削除したインデックス以降の番号の項目は一つずつインデックスが繰り上がります。
void MQListBox::ClearItems();
すべての項目を削除します。
int MQListBox::GetItemCount();
項目の数を取得します。
std::wstring MQListBox::GetItem(int index);
指定した項目の文字列を取得します。
void MQListBox::SetItem(int index, const std::wstring& text);
指定した項目の文字列を設定します。
__int64 MQListBox::GetItemTag(int index);
指定した項目に割り当てられた任意の値を取得します。
void MQListBox::SetItemTag(int index, __int64 tag);
指定した項目に任意の値を割り当てます。
bool MQListBox::GetItemSelected(int index);
指定した項目の選択状態を取得します。
複数選択の状態を取得するにはSetMultiSelection()で複数選択できるようにしておく必要があります。
void MQListBox::SetItemSelected(int index, bool selected);
指定した項目に選択状態を設定します。
複数選択の状態を取得するにはSetMultiSelection()で複数選択できるようにしておく必要があります。
std::wstring MQListBox::GetItemHint(int index);
指定した項目のヒント文字列を取得します。
void MQListBox::SetItemHint(int index, const std::wstring& hint);
指定した項目のヒント文字列を設定します。
void MQListBox::SetItemDIB(int index, void *header, void *buffer);
(new in Rev4.69)
指定した項目のDIB画像を設定します。
int MQListBox::GetVisibleRow();
高さの計算時に用いる表示行数を取得します。
実際に表示される行数とは必ずしも一致しません。
void MQListBox::SetVisibleRow(int value);
高さの計算時に用いる表示行数を設定します。
実際に表示される行数とは必ずしも一致しません。
double MQListBox::GetLineHeightRate();
一行の高さを標準の高さに対する割合で取得します。
void MQListBox::SetLineHeightRate(double value);
一行の高さを標準の高さに対する割合で設定します。
bool MQListBox::GetVertScrollVisible();
縦スクロールバーを表示するかどうか取得します。
void MQListBox::SetVertScrollVisible(bool value);
縦スクロールバーを表示するかを設定します。
bool MQListBox::GetMultiSelect();
複数選択をできるかどうか取得します。
void MQListBox::SetMultiSelect(bool value);
複数選択をできるかどうかを設定します。
MQListBox::MQListBoxStyle MQListBox::GetListStyle();
(new in Rev4.69)
リストをどう表示するかを取得します。
void MQListBox::SetListStyle(MQListBoxStyle style);
(new in Rev4.69)
リストをどう表示するかを設定します。
double MQListBox::GetIconSizeRate();
(new in Rev4.69)
アイコンの表示サイズを標準サイズに対する比率で指定します。
void MQListBox::SetIconSizeRate(double value);
(new in Rev4.69)
アイコンの表示サイズを標準サイズに対する比率で指定します。
void MQListBox::ClearSelection();
複数選択用の選択状態をすべて解除します。
void MQListBox::MakeItemVisible(int index);
指定したインデックスの項目が画面のリスト領域内に表示されるようスクロール位置を調整します。
int MQListBox::HitTestItem(int x, int y);
(new in Rev4.40)
指定した位置にある項目のインデックスを取得します。指定した位置に項目がない場合は-1が返ります。
void MQListBox::GetItemRect(int index, int& x, int& y, int& w, int& h);
(new in Rev4.40)
指定した項目の位置・サイズを取得します。
int MQListBox::GetMultiColumn();
(new in Rev4.87)
複数列表示の列数を取得します。複数列表示が指定されない場合、0が返ります。
void MQListBox::SetMultiColumn(int columns);
(new in Rev4.87)
複数列表示の列数を設定します。複数列表示にしない場合、columnsに0を設定してください。
int MQListBox::GetColumnWidth(int column);
(new in Rev4.87)
複数列表示の列ごとの表示幅を取得します。
void MQListBox::SetColumnWidth(int column, int width);
(new in Rev4.87)
複数列表示の列ごとの表示幅を設定します。
void MQListBox::FitColumnWidths();
(new in Rev4.87)
複数列表示の各列の表示幅を表示文字列に合わせて調整します。
template<typename T> void MQListBox::AddChangedEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument), bool prior = false)
ユーザーの操作により状態が変更されたときに発生されるイベントを追加します。
template<typename T> void MQListBox::AddDrawItemEvent(T *p, BOOL (T::*f)(MQWidgetBase*, MQDocument, MQListBoxDrawItemParam&), bool prior = false)
個々の項目が描画されるときに発生されるイベントを追加します。
BOOL T::f(MQWidgetBase* sender, MQDocument doc, MQListBoxDrawItemParam& param);
param内のXとWidthを変更してFALSEを返すことで、文字などの描画位置を変更することができます。
struct MQListBoxDrawItemParam { MQCanvas *Canvas; int ItemIndex; int X; int Y; int Width; int Height; };