A ver, lo primero de todo, ¿en qué estás trabajando? ¿C++ o C#? Porque la forma en que preguntas tiene toda la pinta de estar haciéndolo en C#. Además, la pregunta que has hecho en los foros del Guille también lo dice así.
Si es en C#, la respuesta correcta está en la clase String del .NET. La solución podría ser similar a esta:
txtbox4.Text=txtbox1.Text.Trim()+txtbox2.Text.Trim()+txtbox3.Text.Trim();
Si estás hablando de C++/CLI (el C++ del .NET), la respuesta sería:
txtbox4->Text=txtbox1->Text->Trim()+txtbox2->Text->Trim()+txtbox3->Text->Trim();
Y si finalmente lo estás haciendo en C++ puro y duro, la respuesta es demasiado larga para como escribirla de memoria, pero tienes que enviar un mensaje a cada uno de los campos de edición para que te devuelvan el texto contenido, y luego concatenar los tres textos enviándolos de nuevo al nuevo campo de edición mediante un nuevo mensaje (WM_GETTEXT y WM_SETTEXT).
Y finalmente, si lo estás haciendo en C++ con MFC, la solución, suponiendo que txtbox fueran variables DDX,
CString s,cadena;
txtbox1.GetWindowText(s);
cadena=s.Trim();
txtbox2.GetWindowText(s);
cadena=cadena+s.Trim();
txtbox3.GetWindowText(s);
cadena=cadena+s.Trim();
txtbox4.SetWindowText(cadena);