RichEdit subclassing problem, can't call Default Proc.
Please support our C++ advertiser: Programming Forums
![]() |
•
•
Posts: 38
Reputation:
Solved Threads: 1
Hi,
I know how to subclass a RichEdit, and the messages I handle in my procedure work, but I want to know how to call the default procedure that would proccess a non-subclassed RichEdit Control. My problem is that when I subclass it, I want the default Procedure to take care of what my procedure doesn't.
I only handle a context menu and the commands from it, but, I can't use the defaut procedure because I don't know it's name. The RichEdit (RichEdit 3.0) is not doing anything because I can't call the procedure that handles the functionality because I haven't a clue to it's name. The RichEdit doesn't scroll, accept characters, paste, undo, or anything that the default RichEdit procedure should do. How can I go about calling the default procedure?
This is what I have (Not the exact code, just what needs to be seen):
------------------------------------------------------------------------------------------------------------------
;
Can anybody help me out?
I know how to subclass a RichEdit, and the messages I handle in my procedure work, but I want to know how to call the default procedure that would proccess a non-subclassed RichEdit Control. My problem is that when I subclass it, I want the default Procedure to take care of what my procedure doesn't.
I only handle a context menu and the commands from it, but, I can't use the defaut procedure because I don't know it's name. The RichEdit (RichEdit 3.0) is not doing anything because I can't call the procedure that handles the functionality because I haven't a clue to it's name. The RichEdit doesn't scroll, accept characters, paste, undo, or anything that the default RichEdit procedure should do. How can I go about calling the default procedure?
This is what I have (Not the exact code, just what needs to be seen):
------------------------------------------------------------------------------------------------------------------
cplusplus Syntax (Toggle Plain Text)
// Main Window Procedure switch(message) { case WM_CREATE: { // Declare RichEdit: hRichEdit SetWindowLongPtr(hRichEdit, GWLP_WNDPROC, (LONG_PTR)MyRichEditProc); // This works fine } break; default: return DefWindowProc(hwnd, message, wParam, lParam); // End Message Loop // MyRichEditProc switch(message) { case WM_RBUTTONDOWN: // Show ContextMenu, This works fine break; default: // Here is where I want to call the default RichEdit Procedure, This is where I'm Stuck. } // End Proc
Can anybody help me out?
Last edited by Ancient Dragon : Oct 11th, 2008 at 8:25 am. Reason: add code tags
First call GetWindowLongPtr to get a pointer to its defaultProc then call CallWindowProc() when appropriate. See the GWLP_WNDPROC option.
![]() |
Other Threads in the C++ Forum
- Previous Thread: binary to decimal
- Next Thread: card game: just need to know why its not compiling...
•
•
•
•
Views: 380 | Replies: 1 | Currently Viewing: 1 (0 members and 1 guests)






Linear Mode