Thanks in advance!
____________________________________
[code]
#include <windows.h>
#include <tchar.h>
#include <string>
#include <iostream>
#include <richedit.h>
#pragma comment(lib,"user32.lib")
#pragma comment(lib,"Gdi32.lib")
using namespace std;
#define IDB_TEXT2 101
#define IDB_TEXT3 102
#define GetText 103
HWND hwnd, Win_1, Win_2, Send;
MSG Msg;
HDC hdc;
PAINTSTRUCT ps;
TCHAR *buf = {0};
int length;
size_t found;
string Text, str;
void GetIt()
{
length = GetWindowTextLength(Win_2);
buf = new TCHAR[length+1];
GetWindowText(GetDlgItem(hwnd,IDB_TEXT3), buf, length+1);
str = buf;
found = str.find("\r\n");
Text = str.substr(0,found);
SendMessage(Win_1, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)Text.c_str());
delete[] buf;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch(msg){
case WM_CREATE:
Win_1 = CreateWindowEx(0,"ListBox", 0,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL |
WS_HSCROLL | LBS_DISABLENOSCROLL,
20, 20, 550, 460, hwnd, (HMENU)IDB_TEXT2, 0, NULL);
Win_2 = CreateWindowEx(0,"Edit","Hello",
WS_VISIBLE | WS_CHILD | WS_HSCROLL | WS_VSCROLL |
ES_AUTOHSCROLL | ES_WANTRETURN | ES_MULTILINE,
20, 500, 550, 180,hwnd,(HMENU) IDB_TEXT3,
((LPCREATESTRUCT)lParam)->hInstance,NULL);
Send = CreateWindowEx(0,"Button","Send",
WS_CHILD | WS_VISIBLE | WS_BORDER,
20, 700, 550, 20,hwnd,(HMENU)GetText,0,NULL);
EnableWindow(Send ,TRUE);
EnableWindow(Win_1 ,TRUE);
EnableWindow(Win_2 ,TRUE);
break;
case WM_PAINT:
GetIt();
break;
case WM_COMMAND:
switch(wParam)
{
case GetText:
InvalidateRect(Win_1,0,FALSE);
//system("start http://www.google.com");
break;
}
case WM_TIMER:
// if (GetAsyncKeyState(VK_F11)) ShowWindow(hwnd,SW_HIDE);
//if (GetAsyncKeyState(VK_F12)) ShowWindow(hwnd,SW_SHOW);
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR
lpCmdLine,int nCmdShow)
{
WNDCLASSEX wc;
wc.hInstance = hInstance;
wc.cbClsExtra = 0;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH) CreateSolidBrush(RGB(100,100,100));
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = "Class";
wc.lpszMenuName = NULL;
wc.style = 0;
wc.hIconSm = NULL;
if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hwnd = CreateWindowEx(WS_EX_LEFT|WS_EX_LTRREADING|WS_EX_WINDOWEDGE,
"Class",
" The_Chatter",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 600, 800,
HWND_DESKTOP, NULL, hInstance, NULL);
if(hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK); return 0;
}
SetTimer(hwnd,1,125,NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
[/code]
Let's see what's wrong here.
1. You have an error on line 42 of your code. That is, we're not
psychic. Why do you think something is wrong? See FAQ 5.8
http://www.parashift.com/c++-faq-lite/how-to-post.html#faq-5.8
2. You have posted to the wrong newsgroup. The C++ language knows
nothing about SendMessage or "list boxes". You have a question
about the Win32 API, not the C++ language. See FAQ 5.9
http://www.parashift.com/c++-faq-lite/how-to-post.html#faq-5.9
or try a newsgroup with "windows" in its name.