C++ Windows how can I make make a messagebox that shows the text of a textbox?

Read title.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCMDLINE, int iCmdShow){
	static TCHAR szAppName[] = TEXT("Test"); //Window Title
	HWND hwnd; //Window
	MSG msg; //Message
	WNDCLASS wndclass; //Properties of the Window
	
	wndclass.style = CS_HREDRAW|CS_VREDRAW; // Properties
	wndclass.lpfnWndProc = WndProc;
	wndclass.cbClsExtra = 0;
	wndclass.cbWndExtra = 0;
	wndclass.hInstance = hInstance;
	wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
	wndclass.hbrBackground = NULL;
	wndclass.lpszMenuName = NULL;
	wndclass.lpszClassName = szAppName;
	
	if(!RegisterClass(&wndclass)){ //if the properties are not valid
		MessageBox(NULL,"An error occured",szAppName, MB_ICONERROR); //It will say an error occured with title of test and an error icon.	
		return 0;
	}
	
	hwnd = CreateWindow(szAppName,TEXT("Hey"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); // Title, Text inside, Style of window, x,y,size x, size y, Parent window handle, window menu handle, program instance handle, creation parameters
	
	ShowWindow(hwnd,iCmdShow);
	UpdateWindow(hwnd);
	
	while(GetMessage(&msg, NULL, 0, 0)){ //Keeps running until the users closes the window
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	
	
	
	return msg.wParam;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
	
	switch(message){
		case WM_CREATE:
			CreateWindow(TEXT("Button"),TEXT("Click me"),WS_VISIBLE|WS_CHILD,10,10,100,50,hwnd,(HMENU) 1,NULL,NULL); // Button
			
			CreateWindow(TEXT("edit"),TEXT("Text input"),WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,120,10,100,50,hwnd,(HMENU) 2,NULL,NULL); // TextBox
			return 0;
		case WM_COMMAND:
			if(LOWORD(wParam) == 1){
				MessageBox(hwnd,"","Yay!",MB_OK);

			}
			return 0;
		case WM_DESTROY:
			PostQuitMessage(0);
			return 0;
	}
	return DefWindowProc(hwnd, message, wParam, lParam);
}
use GetWindowTextLength to get window text length, allocate memory and then use GetDlgItemText. Detailed HOWTO are on MSDN
Topic archived. No new replies allowed.