FunctionPtr

在持有的class(即要給他人使用的class)的class內先宣告
class CClassName4PtrFunc
{
public:
typedef void (CClassName4PtrFunc::*PtrFuncName) (arg...);

public:
void FuncName(arg...);

};


之後有要用的人則先在自己的head file內加入
class CClassName4PtrFunc;



需要使用時則在cpp內做以下動作即可
#include "CClassName4PtrFunc.h"

void CIWantUsePtrFunc::UsePtrFunc(arg...)
{
CClassName4PtrFunc::PtrFuncName pPtrFunc;

(*pPtrFunc)(agr...);
}


上面內容目前還沒測過,僅用於memo用。
有誤還煩請指教。

[MFC]CListCtrl自動選擇一行

m_List.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_List.EnsureVisible(nIndex, FALSE);

不過使用上面方式後的選擇顯示是灰色的標記,並不是用滑鼠點選時的藍色。

如果需要選擇成藍色則如下:
m_List.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_List.EnsureVisible(nIndex, FALSE);
m_List.SetFocus();

但是方法僅能用在按下按鈕的同時。

如有需要在另外的Thread中來做SetFocus(),則需使用SendMessage的方式來達成。

Build docker image from multiple build contexts

Build docker image from multiple build contexts ...