You could use bind1st if CallBackFunc took one parameter:
void CallBackFunc(int) { ... }
...
obj->SetCallback(std::bind1st(std::mem_fun(&MyClass::CallBackFunc), this));
Since it takes nothing, you may have to write your own function template that takes a callable and a pointer that returns a small function object that stores the callable and the pointer as members and invokes them with operator(): as always, by refusing to use boost you're forcing yourself to reimplement parts of it.