EM_GETTEXTEX bei RichEdit



  • Also das Richedit hab ich so :

    HWND chat;
    
    chat = CreateWindowEx(WS_EX_CLIENTEDGE,RICHEDIT_CLASS,"",WS_CHILD|WS_VISIBLE|ES_DISABLENOSCROLL|ES_MULTILINE|ES_AUTOVSCROLL|WS_VSCROLL,chatposX,chatposY,chatWidth,chatHeight,hDlg,NULL,GetModuleHandle(NULL),NULL);
    

    Und jetzt moechte ich den Text aus dieser RichEdit lesen mit

    char thetext[1000],buf[1000];
    GETTEXTEX get;
    ZeroMemory(&get,sizeof(GETTEXTEX));	
    get.cb = sizeof(GETTEXTEX);
    get.codepage = CP_ACP;
    get.flags = GT_DEFAULT;
    get.lpDefaultChar = NULL;
    get.lpUsedDefChar = NULL;
    
    SendMessage(chat,EM_GETTEXTEX,(WPARAM)&get,(LPARAM)thetext);
    
    sprintf(buf,"%s\n",thetext);
    MessageBox(0,buf,"Buffer",MB_OK);
    

    Die MessageBox gibt mir aber nur die ersten 21 Zeichen aus , warum ?



  • MSDN schrieb:

    ...
    lParam
    Pointer to a null-terminated string that receives the text. The size of this buffer should be placed in the cb member of the GETTEXTEX structure.

    konkret:

    get.cb = sizeof(thetext)-1;
    

Anmelden zum Antworten