| | |
windows api help
Please support our C++ advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved |
•
•
Join Date: Sep 2007
Posts: 56
Reputation:
Solved Threads: 0
How can I make this print the text in the edit box when you push the button instead of "You pushed a button." I have looked all over but I can't figure it out.
C++ Syntax (Toggle Plain Text)
#include <windows.h> #include "resource.h" HWND hWndButton; HWND hWndEditBox; HFONT hFont; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName[ ] = "WindowsApp"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hWnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default color as the background of the window */ wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hWnd = CreateWindowEx ( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "Windows App", /* Title Text */ WS_SYSMENU | WS_MINIMIZEBOX , /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 330, /* The programs width */ 210, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow (hWnd, nFunsterStil); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage() */ LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) /* handle the messages */ { case WM_CREATE: { HINSTANCE hInstance = (HINSTANCE) GetWindowLong(hWnd, GWL_HINSTANCE) ; hWndButton = CreateWindowEx( 0, "BUTTON", "ADD", WS_VISIBLE | WS_CHILD, 250, 0, 80, 20, hWnd, (HMENU) IDB_BUTTON, hInstance, NULL); hFont = CreateFont(0, 0, 0, 0, 0, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_MODERN, "Courier New"); hWndEditBox = CreateWindow( "EDIT", "", WS_VISIBLE | WS_CHILD | ES_AUTOHSCROLL, 0, 0, 250, 20, hWnd, (HMENU)IDC_EDITBOX_TEXT, (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), NULL); SendMessage(hWndEditBox, WM_SETFONT, (WPARAM)hFont, TRUE); } break; case WM_DESTROY: PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; case WM_COMMAND: { switch (LOWORD(wParam)) { case IDB_BUTTON: { switch (HIWORD(wParam)) { case BN_CLICKED: MessageBox(NULL, "You pushed a button.", "", MB_OK | MB_ICONINFORMATION); break; } } break; } return 0; } break; default: /* for messages that we don't deal with */ return DefWindowProc (hWnd, message, wParam, lParam); } return 0; }
If you look at line 137 it calles the MessageBox function which takes the arguments
MessageBox(<message to show>, <title>, <buttons to show>, <icon to show>)•
•
•
•
How can I make this print the text in the edit box when you push the button instead of "You pushed a button." I have looked all over but I can't figure it out.
c++ Syntax (Toggle Plain Text)
#include <windows.h> #include "resource.h" HWND hWndButton; HWND hWndEditBox; HFONT hFont; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName[ ] = "WindowsApp"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hWnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default color as the background of the window */ wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hWnd = CreateWindowEx ( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "Windows App", /* Title Text */ WS_SYSMENU | WS_MINIMIZEBOX , /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 330, /* The programs width */ 210, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow (hWnd, nFunsterStil); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage() */ LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) /* handle the messages */ { case WM_CREATE: { HINSTANCE hInstance = (HINSTANCE) GetWindowLong(hWnd, GWL_HINSTANCE) ; hWndButton = CreateWindowEx( 0, "BUTTON", "ADD", WS_VISIBLE | WS_CHILD, 250, 0, 80, 20, hWnd, (HMENU) IDB_BUTTON, hInstance, NULL); hFont = CreateFont(0, 0, 0, 0, 0, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_MODERN, "Courier New"); hWndEditBox = CreateWindow( "EDIT", "", WS_VISIBLE | WS_CHILD | ES_AUTOHSCROLL, 0, 0, 250, 20, hWnd, (HMENU)IDC_EDITBOX_TEXT, (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), NULL); SendMessage(hWndEditBox, WM_SETFONT, (WPARAM)hFont, TRUE); } break; case WM_DESTROY: PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; case WM_COMMAND: { switch (LOWORD(wParam)) { case IDB_BUTTON: { switch (HIWORD(wParam)) { case BN_CLICKED: MessageBox(NULL, "You pushed a button.", "", MB_OK | MB_ICONINFORMATION); break; } } break; } return 0; } break; default: /* for messages that we don't deal with */ return DefWindowProc (hWnd, message, wParam, lParam); } return 0; }
GCS d- s+ a-->? C++(++++) UL+++ P+>+++ L+++ E--- W+++
N+ o K w++(---) O? !M- V PS+>++ PE+ Y+ PGP !t- 5? X- R tv+
b+>++ DI+ D G++>+++ e+ h+>++ r y+
PMs asking for help will not be answered, post on the forums. That's what they're there for.
N+ o K w++(---) O? !M- V PS+>++ PE+ Y+ PGP !t- 5? X- R tv+
b+>++ DI+ D G++>+++ e+ h+>++ r y+
PMs asking for help will not be answered, post on the forums. That's what they're there for.
C++ Syntax (Toggle Plain Text)
int TxtSize = GetWindowTextLenth (hwndEditBox) + 1; char *Entry = new char [TxtSize]; GetWindowText (hwndEditBox, Entry, TxtSize); MessageBox (NULL, Entry, "", MB_OK | MB_ICONINFORMATION) delete Entry [];
•
•
Join Date: Sep 2007
Posts: 56
Reputation:
Solved Threads: 0
Thanks I got it working using this code:
C++ Syntax (Toggle Plain Text)
int TxtSize = GetWindowTextLength (hWndEditBox) + 1; char *Entry = new char [TxtSize]; GetWindowText (hWndEditBox, Entry, TxtSize); MessageBox (NULL, Entry, "", MB_OK | MB_ICONINFORMATION); delete[] Entry;
![]() |
Similar Threads
- Starting " C " (C)
- Windows API tutorial?? (C++)
- windows api help (C++)
- Windows api (C++)
- Windows API functions to read and write files in C (C)
- Windows Api Tutorial (C++)
Other Threads in the C++ Forum
- Previous Thread: need help
- Next Thread: Help with code.
Views: 1059 | Replies: 4
| Thread Tools | Search this Thread |
Tag cloud for C++
6 api application array arrays assignment beginner binary bitmap c++ c/c++ calculator char class classes code coding compile compiler console conversion convert count data database delete developer display dll email encryption error file forms fstream function functions game generator getline givemetehcodez graph homeworkhelper iamthwee ifstream image input int java lazy lib loop looping loops map math matrix memory multidimensional multiple newbie news node number output parameter pointer problem program programming project proxy python random read recursion recursive reference return sort sorting string strings struct template templates text tree url variable vector video visual visualstudio win32 windows winsock word wordfrequency wxwidgets






