Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Getting text from an edit box control

steven_j_
Beginner
147 Views

I am writing a simple windows application and in my main window message processing function I create a child window that is an edit box:

        btn = ior(ior(WS_CHILD, WS_VISIBLE), ES_LEFT)
        hEdt2 = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit"C, ""C, btn, 101, 134, 100, 20, hWnd, 10, ghInstance, NULL)

This executes correctly and I get a child window that is an edit box control. Note that this child window resides in the client area of my main window; it is not part of a dialog box.

I enter text into this edit box and I want to read that text into a character variable. I tried the GetWindowText(hEdt2, ...) function and that returned an empty string. I tried SendMessage(hEdt2, WM_GETTEXT, ...) and SendMessage(hEdt2, EM_GETLINE, ...), and they also returned empty strings. How can I read the text from an edit box control that is not part of a dialog box?

Thanks!

 

0 Kudos
4 Replies
andrew_4619
Honored Contributor I
147 Views

Both method should work but remember if your string is gbuf you will probably need  to pass loc(gbuf) in the LPTSTR for the Sendmessage

Paul_Curtis
Valued Contributor I
147 Views

not 'probably' --

rval = SendControlMessage (hwnd, controlId, WM_GETTEXT, length, LOC(contents))

 

steven_j_
Beginner
147 Views

My bad - I forgot to declare the edit box handle with the "save" attribute. When I did, both GetWindowText and SendMessage (using loc function) worked correctly.

Thanks for your help.

andrew_4619
Honored Contributor I
147 Views

Glad you fixed It Steven,

@Paul, LOL yes not "probably need", I think I meant "probably need to add because you maybe haven't already"  

Reply