문제

Visual Studio RC를 사용하여 Win32 C에서 프로그램을 만들고 있습니다.이 겉보기에 간단한 작업을 수행하는 방법을 알아낼 수 없습니다.나는 정적 텍스트 제어, 편집 컨트롤 및 버튼을 가지고 있습니다.사용자가 버튼을 클릭하면 편집 컨트롤에서 텍스트를 가져 와서 정적 텍스트 상자에있는 모든 것에 추가 할 프로그램이 없습니다.많은 두통과 다양한 시도가 난 후에 나는 여전히 이것을 일할 수 없다.편집 컨트롤에서 텍스트를 검색 할 수는 있지만 정적 제어 충돌에 추가하려는 시도.음, 실제로 명확하게하기 위해서는 텍스트를 잘 설정할 수 있습니다.프로그램이 충돌하는 기존 텍스트에 추가하는 것입니다.누군가가 GetWindowText () 및 setWindowText ()를 사용 하여이 작업을 수행 할 수있는 코드를 게시 할 수 있습니다. (또는 바람직하게는 다른 경우).여기있는 것입니다 :

SendMessage(hwndEditControl, WM_GETTEXT,255,(LPARAM)editbuffer);
GetWindowText(hwndTextControl, (LPWSTR)allText, GetWindowTextLength(hwndTextControl));
//function to add data, please create on
SetWindowText(hwndTextControl, (LPCWSTR)allText);}
//where
static TCHAR*       editbuffer = new TCHAR; //feel free to change these declarations
static TCHAR*       allText    = new TCHAR;
.

도움이 많은 도움을 받았습니다!감사합니다!

도움이 되었습니까?

해결책

문자열 버퍼에 대해 하나의 char를 예약합니다.그래서

대신에
static TCHAR*       editbuffer = new TCHAR;
static TCHAR*       allText    = new TCHAR;
.

더 많은 메모리를 예약해야합니다.

static TCHAR*       editbuffer = new TCHAR[255];
static TCHAR*       allText    = new TCHAR[255];
.

254 개의 문자를 보유 할 수있는 문자열 버퍼와 종료 null char.

그러나 기능 내부의 스택에서 메모리를 예약하는 것이 좋습니다.

void OnButtonClick()
{
    TCHAR editbuffer[255] = {0};
    TCHAR allText[255] = {0};
    ...
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top