EM_SETHANDLE 메커니즘을 사용하여 편집 컨트롤의 텍스트를 올바르게 설정하는 방법을 알 수 없습니다. 창 텍스트 가져 오기 및 설정이 응용 프로그램에 너무 느립니다.편집 컨트롤에서 EM_SETHANDLE을 사용하는 방법?
문서에서 할당 된 버퍼가 컨트롤에 의해 소송을 당하고 부분적으로 작동한다는 것을 이해합니다.
텍스트를 컨트롤에 입력하면 버퍼에 표시되지만 memcpy 등 (코드의 버그 없음)을 사용하여 버퍼를 업데이트하면 업데이트 된 텍스트가 제대로 표시되지 않습니다. 나는 매 업데이트 후에도 EM_SETHANDLE (SetHandle())을 시도했지만 두 번 시도한 후에 실패합니다. 어떤 종류의 힙 할당 실패가 있습니다. RedrawWindow()도 작동하지 않습니다.
인터넷에서 사용법에 대한 적절한 정보를 얻을 수 없습니다. 도움!
내 코드는 앱의 세부 정보를 그대로두고 있습니다. 사전
에서// init
HANDLE m_hMem = HeapAlloc(...)
m_edit.SetHandle(m_hMem)
// on some event
char *pbuf = (char*)m_hMem;
memcpy(...)
감사
멀티 라인 편집 컨트롤을 사용하고 있습니까? 당신은 정말로 나를 말할 수있는 샘플 코드를 게시하지 않았습니다. [이 MSDN 기사] (http://msdn.microsoft.com/en-us/library/bb775456.aspx)에 나와있는 지침을 따랐습니까? "텍스트 버퍼 할당"절에서 구체적으로 확인하십시오. –
이것은 Windows 버전 2에서 사용하기에 흥미로운 메시지입니다. –
@Cody : 1. 예, 다중 행 편집을 사용합니다. 2. 내가 준 샘플은 실제로 보이는 것입니다. 3. 예, 그 기사가 말하는 것을 따라갔습니다. LocalAlloc 대신 Heap 함수를 사용하여 적절하게 처리하는 것이 좋습니다. – joseph