Click here to Skip to main content
15,897,518 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: WM_DEVICECHANGE Problem Pin
Ozer Karaagac6-Mar-11 8:39
professionalOzer Karaagac6-Mar-11 8:39 
GeneralRe: WM_DEVICECHANGE Problem Pin
goldenrose96-Mar-11 16:53
goldenrose96-Mar-11 16:53 
GeneralRe: WM_DEVICECHANGE Problem Pin
Ozer Karaagac6-Mar-11 21:48
professionalOzer Karaagac6-Mar-11 21:48 
GeneralRe: WM_DEVICECHANGE Problem Pin
goldenrose96-Mar-11 21:54
goldenrose96-Mar-11 21:54 
GeneralRe: WM_DEVICECHANGE Problem Pin
Ozer Karaagac6-Mar-11 22:09
professionalOzer Karaagac6-Mar-11 22:09 
GeneralRe: WM_DEVICECHANGE Problem Pin
goldenrose96-Mar-11 22:23
goldenrose96-Mar-11 22:23 
GeneralRe: WM_DEVICECHANGE Problem Pin
Ozer Karaagac6-Mar-11 22:43
professionalOzer Karaagac6-Mar-11 22:43 
GeneralRe: WM_DEVICECHANGE Problem Pin
goldenrose96-Mar-11 23:43
goldenrose96-Mar-11 23:43 
QuestionSockets and Port number Pin
sawerr5-Mar-11 23:09
sawerr5-Mar-11 23:09 
AnswerRe: Sockets and Port number Pin
Bill SerGio, The Infomercial King6-Mar-11 0:50
Bill SerGio, The Infomercial King6-Mar-11 0:50 
AnswerRe: Sockets and Port number Pin
Andrew Brock6-Mar-11 0:54
Andrew Brock6-Mar-11 0:54 
GeneralRe: Sockets and Port number Pin
sawerr6-Mar-11 1:36
sawerr6-Mar-11 1:36 
GeneralRe: Sockets and Port number Pin
Andrew Brock6-Mar-11 2:01
Andrew Brock6-Mar-11 2:01 
AnswerRe: Sockets and Port number Pin
Bill SerGio, The Infomercial King6-Mar-11 2:14
Bill SerGio, The Infomercial King6-Mar-11 2:14 
Questionhelp with tcl/tk in C Pin
basel-bh5-Mar-11 20:53
basel-bh5-Mar-11 20:53 
Questioncase statement in DLGPROC [SOLVED] Pin
goldenrose95-Mar-11 16:36
goldenrose95-Mar-11 16:36 
AnswerRe: case statement in DLGPROC Pin
Andrew Brock5-Mar-11 17:55
Andrew Brock5-Mar-11 17:55 
None of them are correct.

The message determines what you must do.

At the bottom of the DlgProc function there would be a call to DefWndProc() or the original window procedure.

Read the MSDN pages for what the return should be.
WM_INITDIALOG[^]: "The dialog box procedure should return TRUE to direct the system to set the keyboard focus to the control specified by wParam. Otherwise, it should return FALSE to prevent the system from setting the default keyboard focus." Generally you would break and let the default procedure take care of this, but you can return either TRUE or FALSE.
WM_COMMAND[^]: "If an application processes this message, it should return zero." implies that you should break the switch and call the original procedure if you don't handle it.
WM_CLOSE[^]: "If an application processes this message, it should return zero."

LRESULT CALLBACK DlgProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) {
    switch (Msg) {
        case WM_INITDIALOG:
            break; //You can do whatever here

        case WM_COMMAND:
            switch (LOWORD(wParam)) {
                case IDC_MYBUTTON:
                    return 0; //something happened to MYBUTTON
            }
            break; //We havn't handled it, use default handler

        case WM_CLOSE:
            //cleanup
            return 0;
    }
    return pOriginalProcedure(hwnd, Msg, wParam, lParam); //This is set as GetWindowLong(GWL_MSGPROC) before changing the procedure.
}

QuestionWM_COMMAND [SOLVED] Pin
goldenrose95-Mar-11 5:08
goldenrose95-Mar-11 5:08 
AnswerRe: WM_COMMAND Pin
Michael Dunn5-Mar-11 6:58
sitebuilderMichael Dunn5-Mar-11 6:58 
AnswerRe: WM_COMMAND Pin
CPallini5-Mar-11 7:37
mveCPallini5-Mar-11 7:37 
QuestionMoving GDI+ objects question Pin
csrss5-Mar-11 2:13
csrss5-Mar-11 2:13 
AnswerRe: Moving GDI+ objects question Pin
Niklas L5-Mar-11 2:42
Niklas L5-Mar-11 2:42 
GeneralRe: Moving GDI+ objects question Pin
csrss5-Mar-11 3:36
csrss5-Mar-11 3:36 
GeneralRe: Moving GDI+ objects question Pin
Niklas L5-Mar-11 5:39
Niklas L5-Mar-11 5:39 
GeneralRe: Moving GDI+ objects question Pin
csrss5-Mar-11 6:16
csrss5-Mar-11 6:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.