TNB Library
公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CPortComboBox クラス

シルアルポートComboBoxコントロール [詳解]

#include <TnbMfcPortComboBox.h>

+ CPortComboBox の継承関係図

公開メンバ関数

void AddExtendPort (LPCTSTR lpszName)
 [設定] 拡張ポート名設定. [詳解]
 
 CPortComboBox (bool isFullText=false)
 コンストラクタ. [詳解]
 
int GetCurPort (void) const
 [取得] ポート情報取得. [詳解]
 
 operator CRs232c::CPort (void) const
 [取得] ポート情報取得. [詳解]
 
void ResetDevice (bool isFullText=false)
 [設定] デバイス設定. [詳解]
 
void ResetDevice (const CRs232c::TDeviceVector &vd, bool isFullText=false)
 [設定] デバイス設定. [詳解]
 
bool SetCurPort (int port)
 [選択] ポート選択. [詳解]
 
int SetCurSel (int nSelect)
 [選択] 選択. [詳解]
 

限定公開メンバ関数

virtual bool IsEffectiveness (int port)
 [選択] 有効ポートチェック [詳解]
 
virtual BOOL OnChildNotify (UINT message, WPARAM wParam, LPARAM lParam, LRESULT *_pResult)
 [通知] for notifications from parent [詳解]
 
virtual void PreSubclassWindow (void)
 [通知] subclassing/unsubclassing functions. [詳解]
 
virtual BOOL PreTranslateMessage (MSG *pMsg)
 [通知] for translating Windows messages in main message pump [詳解]
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

詳解

シルアルポートComboBoxコントロール

使い方
リソースエディタでコンボボックスコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CComboBox)を本クラスに置き換えて使用します。
コンボボックスのプロパティは、ドロップダウンリストにしておいてください。
使用例
#include <dbt.h>
class CFooDlg : public CDialog
{
:
CPortComboBox m_comboPort;
:
// 生成されたメッセージ マップ関数
//{{AFX_MSG(CGpsReporterDlg)
:
afx_msg BOOL OnDeviceChange(UINT, DWORD);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
BEGIN_MESSAGE_MAP(CFooDlg, CDialog)
//{{AFX_MSG_MAP(CFooDlg)
:
ON_WM_DEVICECHANGE()
:
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CFooDlg::OnInitDialog()
{
:
m_comboPort.ResetDevice();
:
}
BOOL CFooDlg::OnDeviceChange(UINT type, DWORD data)
{
if ( type == DBT_DEVICEARRIVAL || type == DBT_DEVICEREMOVECOMPLETE )
{
CWaitCursor aa;
m_comboPort.ResetDevice();
}
return TRUE;
}
CPortComboBox(bool isFullText=false)
コンストラクタ.
必要ファイル
TnbMfcPortComboBox.h
日付
10/02/18 新規作成
14/07/14 AddExtendPort() を新規追加
18/11/05 IsEffectiveness() を新規追加

TnbMfcPortComboBox.h84 行目に定義があります。

構築子と解体子

◆ CPortComboBox()

CPortComboBox ( bool  isFullText = false)

コンストラクタ.

引数
isFullTexttrue なら”製造者 description (COMポート番号)”になります。省略すると ”COMポート番号” になります。

TnbMfcPortComboBox.h93 行目に定義があります。

関数詳解

◆ AddExtendPort()

void AddExtendPort ( LPCTSTR  lpszName)

[設定] 拡張ポート名設定.

覚え書き
この名前を設定すると選択肢に現れ、Port 0 として機能するようになります。
注意
このメソッドを使った場合、必ず選択されているポートが0か否か確認してからシリアルポートを使用してください。

TnbMfcPortComboBox.h102 行目に定義があります。

◆ GetCurPort()

int GetCurPort ( void  ) const

[取得] ポート情報取得.

選択しているポートを返します。

戻り値
ポート

TnbMfcPortComboBox.h122 行目に定義があります。

◆ IsEffectiveness()

virtual bool IsEffectiveness ( int  port)
protectedvirtual

[選択] 有効ポートチェック

引数
portポート番号
戻り値
true有効
false無効(リストに含まれません)

TnbMfcPortComboBox.h286 行目に定義があります。

◆ OnChildNotify()

virtual BOOL OnChildNotify ( UINT  message,
WPARAM  wParam,
LPARAM  lParam,
LRESULT *  _pResult 
)
protectedvirtual

[通知] for notifications from parent

覚え書き
CWndのメソッドをオーバーライドしています。 メッセージ受信したらコールされます。
引数
[in]messageメッセージ
[in]wParamWPARAM
[in]lParamLPARAM
[out]_pResultリザルト
戻り値
TRUE処理済。
FALSE未処理。

TnbMfcPortComboBox.h262 行目に定義があります。

◆ operator CRs232c::CPort()

operator CRs232c::CPort ( void  ) const

[取得] ポート情報取得.

選択しているポートを返します。

戻り値
ポート

TnbMfcPortComboBox.h112 行目に定義があります。

◆ PreSubclassWindow()

virtual void PreSubclassWindow ( void  )
protectedvirtual

[通知] subclassing/unsubclassing functions.

サブクラス化する時コールされます。

覚え書き
CWndのメソッドをオーバーライドしています。

TnbMfcPortComboBox.h243 行目に定義があります。

◆ PreTranslateMessage()

virtual BOOL PreTranslateMessage ( MSG *  pMsg)
protectedvirtual

[通知] for translating Windows messages in main message pump

引数
pMsgメッセージ
戻り値
TRUEディスパッチできない場合
FALSEディスパッチする必要がある場合

TnbMfcPortComboBox.h210 行目に定義があります。

◆ ResetDevice() [1/2]

void ResetDevice ( bool  isFullText = false)

[設定] デバイス設定.

コントロール作成時、及び、トップウィンドウが WM_CHANGEDEVICE を受け取った時など、デバイス状態が変化した時に使用します。

引数
isFullTexttrue なら”製造者 description (COMポート番号)”になります。省略すると ”COMポート番号” になります。

TnbMfcPortComboBox.h179 行目に定義があります。

◆ ResetDevice() [2/2]

void ResetDevice ( const CRs232c::TDeviceVector vd,
bool  isFullText = false 
)

[設定] デバイス設定.

コントロール作成時、及び、トップウィンドウが WM_CHANGEDEVICE を受け取った時など、デバイス状態が変化した時に使用します。

引数
vdデバイス情報
isFullTexttrue なら”製造者 description (COMポート番号)”になります。省略すると ”COMポート番号” になります。

TnbMfcPortComboBox.h191 行目に定義があります。

◆ SetCurPort()

bool SetCurPort ( int  port)

[選択] ポート選択.

指定のポートを選択します。

引数
portポート
戻り値
true成功。
false失敗。

TnbMfcPortComboBox.h139 行目に定義があります。

◆ SetCurSel()

int SetCurSel ( int  nSelect)

[選択] 選択.

引数
nSelect選択する文字列を 0 から始まるインデックスで指定します。
戻り値
CB_ERR以外成功。
CB_ERR失敗。

TnbMfcPortComboBox.h162 行目に定義があります。

◆ WindowProc()

virtual LRESULT WindowProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
protectedvirtual

[通知] for processing Windows messages.

メッセージ受信したらコールされます。

覚え書き
CWndのメソッドをオーバーライドしています。
引数
messageメッセージ
wParamWPARAM
lParamLPARAM
戻り値
リザルト。

TnbMfcPortComboBox.h228 行目に定義があります。