source: trunk/src/user32/defwndproc.cpp@ 4194

Last change on this file since 4194 was 4194, checked in by sandervl, 25 years ago

WM_FOCUSCHANGE fixes + misc fixes

File size: 5.5 KB
Line 
1/* $Id: defwndproc.cpp,v 1.14 2000-09-05 19:20:33 sandervl Exp $ */
2
3/*
4 * Win32 default window API functions for OS/2
5 *
6 * Copyright 1998 Sander van Leeuwen
7 *
8 *
9 * TODO: Incomplete default window handlers + incorrect handler (defframe)
10 *
11 * Project Odin Software License can be found in LICENSE.TXT
12 *
13 */
14#include "user32.h"
15#include "syscolor.h"
16#include "win32wbase.h"
17#include "win32wnd.h"
18#include "win32wmdichild.h"
19#include "win32dlg.h"
20
21#define DBG_LOCALLOG DBG_defwndproc
22#include "dbglocal.h"
23
24#ifdef DEBUG
25char *GetMsgText(int Msg);
26#endif
27
28//******************************************************************************
29//******************************************************************************
30LRESULT WIN32API DefWindowProcA(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
31{
32 Win32BaseWindow *window;
33
34 dprintf2(("DefWindowProcA %x %x %x %x", hwnd, Msg, wParam, lParam));
35 window = Win32BaseWindow::GetWindowFromHandle(hwnd);
36 if(!window) {
37 dprintf(("DefWindowProcA, window %x not found", hwnd));
38 return 0;
39 }
40 return window->DefWindowProcA(Msg, wParam, lParam);
41}
42//******************************************************************************
43//******************************************************************************
44LRESULT WIN32API DefWindowProcW(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
45{
46 Win32BaseWindow *window;
47
48 dprintf2(("DefWindowProcW %x %x %x %x", hwnd, Msg, wParam, lParam));
49 window = Win32BaseWindow::GetWindowFromHandle(hwnd);
50 if(!window) {
51 dprintf(("DefWindowProcW, window %x not found", hwnd));
52 return 0;
53 }
54 return window->DefWindowProcW(Msg, wParam, lParam);
55}
56//******************************************************************************
57//******************************************************************************
58LRESULT WIN32API DefDlgProcA(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
59{
60 Win32Dialog *dialog;
61
62 dialog = (Win32Dialog *)Win32BaseWindow::GetWindowFromHandle(hwnd);
63//TODO: Wrong check?
64// if(!dialog || !dialog->IsDialog()) {
65 if(!dialog) {
66 dprintf(("DefDlgProcA, window %x not found", hwnd));
67 return 0;
68 }
69 if(dialog->IsDialog())
70 return dialog->DefDlgProcA(Msg, wParam, lParam);
71 else return dialog->DefWindowProcA(Msg, wParam, lParam);
72}
73//******************************************************************************
74//******************************************************************************
75LRESULT WIN32API DefDlgProcW(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
76{
77 Win32Dialog *dialog;
78
79 dialog = (Win32Dialog *)Win32BaseWindow::GetWindowFromHandle(hwnd);
80//TODO: Wrong check?
81// if(!dialog || !dialog->IsDialog()) {
82 if(!dialog) {
83 dprintf(("DefDlgProcW, window %x not found", hwnd));
84 return 0;
85 }
86 if(dialog->IsDialog())
87 return dialog->DefDlgProcW(Msg, wParam, lParam);
88 else return dialog->DefWindowProcW(Msg, wParam, lParam);
89}
90//******************************************************************************
91//******************************************************************************
92LRESULT WIN32API DefFrameProcA(HWND hwndFrame, HWND hwndMDIClient, UINT Msg, WPARAM wParam, LPARAM lParam)
93{
94 Win32Window *window;
95
96 window = (Win32Window *)Win32BaseWindow::GetWindowFromHandle(hwndFrame);
97 if(!window) {
98 dprintf(("DefFrameProcA, window %x not found", hwndFrame));
99 return 0;
100 }
101 return window->DefFrameProcA(hwndMDIClient, Msg, wParam, lParam);
102}
103//******************************************************************************
104//******************************************************************************
105LRESULT WIN32API DefFrameProcW(HWND hwndFrame, HWND hwndMDIClient, UINT Msg, WPARAM wParam, LPARAM lParam)
106{
107 Win32Window *window;
108
109 window = (Win32Window *)Win32BaseWindow::GetWindowFromHandle(hwndFrame);
110 if(!window) {
111 dprintf(("DefFrameProcW, window %x not found", hwndFrame));
112 return 0;
113 }
114 return window->DefFrameProcW(hwndMDIClient, Msg, wParam, lParam);
115}
116//******************************************************************************
117//******************************************************************************
118LRESULT WIN32API DefMDIChildProcA(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
119{
120 Win32MDIChildWindow *window;
121
122 window = (Win32MDIChildWindow *)Win32BaseWindow::GetWindowFromHandle(hwnd);
123 if(!window) {
124 dprintf(("DefMDIProcA, window %x not found", hwnd));
125 return 0;
126 }
127 if(!window->isMDIChild()) {
128 dprintf(("App called DefMDIChildProcA for non-MDI window %x", hwnd));
129 return window->DefWindowProcA(Msg, wParam, lParam);
130 }
131 else return window->DefMDIChildProcA(Msg, wParam, lParam);
132
133}
134//******************************************************************************
135//******************************************************************************
136LRESULT WIN32API DefMDIChildProcW(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
137{
138 Win32MDIChildWindow *window;
139
140 window = (Win32MDIChildWindow *)Win32BaseWindow::GetWindowFromHandle(hwnd);
141 if(!window) {
142 dprintf(("DefMDIProcW, window %x not found", hwnd));
143 return 0;
144 }
145 if(!window->isMDIChild()) {
146 dprintf(("App called DefMDIChildProcA for non-MDI window %x", hwnd));
147 return window->DefWindowProcW(Msg, wParam, lParam);
148 }
149 else return window->DefMDIChildProcW(Msg, wParam, lParam);
150}
151//******************************************************************************
152//******************************************************************************
Note: See TracBrowser for help on using the repository browser.