제목에 쓴 내용이 맞는지 모르겠습니다.
if (PtInRect(&btnRc[BTN::SAVE], _ptMouse)) // 마우스가 버튼의 렉트 안에 들어오면
{
BtnAlpha[BTN::SAVE] = 200; // 버튼의 알파값을 200으로 만들어 주고
if (KEYMANAGER->isOnceKeyDown(VK_LBUTTON)) // 만약 마우스의 왼쪽 버튼을 클릭하면
{
// GetDlgItemText함수를 이용해 에디트박스의 문자열을 담아서
GetDlgItemText(h_ControlNum, ID_EDIT_CONTROLNUM, lp_testString, 128);
//INI파일에 저장합니다.
char* str = lp_testString;
INIDATA->addData("관리번호", "1번", str);
INIDATA->iniSave("INITEST");
// Messagebox
MessageBox(_hWnd, "저장이 완료되었습니다.", "Save", MB_OK);
}
}
여기서 GetDlgItemText 함수의 세번째 인수가 디버깅을 했을때
메모리를 읽어올 수 없습니다. 라고 나옵니다.
값이 안담긴것 같은데 제 머리로는 도통 왜 안닮기는 것인지 이해하지 못하겠습니다.
구글에 검색도 해봤지만 옛날 자료가 많아서 인자가 다르기도하고
원하는 자료가 나오지 않아서 질문합니다.
에디트박스는 CreateWindow 함수로 만들었습니다.
리소스의 아이디는 리소스.h 에서 만든것이 아닌
프로그램 전역적으로 #define ID_EDIT_CONTROLNUM 501 디파인문으로 만들었습니다.
HWND h_ControlNum; // 관리번호
LPSTR lp_testString;
char* str = nullptr;
이것은 lp_testString의 자료형과 h_ControlNum의 자료형입니다.