Antes de nada, tienes que indentar el codigo.
Ahora, el CALLBACK es una funcion que se ejecuta mas de una vez, pero me imagino que solo quieres una instancia de tu clase, luego o la declaras global o la declaras static. A parte está lo de si quieres la clase reservada de forma dinamica o estatica; dependiendo de lo que tengas querras una cosa u otra. Supongamos que la quieres dinamica tal como tienes en el ejemplo, la declaras como static y la generas en el case; esto implica otra cosa: en el mensaje WM_CREATE tienes que asignar nulo al puntero, y cuando quieras finalizar el uso de la clase debes liberarla con delete.
Por lo de :: o -> revisa tus apuntes, no tiene nada que ver una cosa con otra. El :: es el modificador para el nombre de un componente de una clase; el -> indica referencia de acceso dentro de un puntero. Si generas la clase dinamica tendras que usar la referencia, si no pues no hará falta:
Código C++:
Ver original//generacion dinamica
MiClase *ptr_miclase;
ptr_miclase = new MiClase();
ptr_miclase->metodo();
delete ptr_miclase;
//generacion estatica
MiClase miclase;
miclase.metodo();
Saludos
vosk