안녕하세여..
TIP에 올라온 자료를 수정해서 써볼려는데, 잘안되서 글올립니다.
자료에서 버튼 1개짜리로 showmessge와 비슷하게 되어있더군요.
전 버튼 2개를 써볼려는데... 쩝 어렵네요..
procedure messageboxTimerProc(hWnd: HWND; uMsg: UINT; idEvent: UINT; Time: DWORD);
begin
PostQuitMessage(0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
idTimer: UINT;
msg: TMSG;
result : integer;
begin
idTimer := SetTimer(0, 0, 2000, @messageboxTimerProc);
result := messagebox(0, '1', '정보', MB_yesno);
KillTimer(0, idTimer);
PeekMessage(msg, 0, WM_QUIT, WM_QUIT, PM_REMOVE);
memo1.Lines.Add(inttostr(result)); //결과값출력
end;
result값을 비교해서 각기 다른 이벤트를 줄려고 하는데요.
질문1] 왜 result값이 integer값으로 나오는지 모르겠네요.
그리고 '예'버튼 클릭시 result = 6
'아니요'버튼클릭시 result = 7
timer에 의해서 자동소멸시 result = 6 이 나옵니다.
왜 결과값이 6,7인지 궁금합니다.
질문2] timer자동소멸시 값을 '아니요'버튼과 같게 하려면 어떻게 해야되
나요.
그럼 수고들하세요... 총총
델파이헬프뒤져보니 나오네욤.. 쩝
질문1] 답: messagebox는 return값이 integer형이네요.
그리고 ok=1, cancel=2, abort=3, retry=4...... 이런식이네요.
질문2] if PeekMessage(msg, 0, WM_QUIT, WM_QUIT, PM_REMOVE) then
result:=7;