static void addSubclasses( HWND hwnd ) { int i; for( i = SS_FIRST_CONTENT; i <= SS_LAST_CONTENT; i++ ) { SubclassGenericAdd( GetDlgItem( hwnd, i ), (WNDPROC)MakeWndProcInstance( StaticSubclassProc, InstanceHandle ) ); } for( i = SS_FIRST_ALIGNMENT; i <= SS_LAST_ALIGNMENT; i++ ) { SubclassGenericAdd( GetDlgItem( hwnd, i ), (WNDPROC)MakeWndProcInstance( StaticSubclassProc, InstanceHandle ) ); } for( i = SS_FIRST_COMMAND; i <= SS_LAST_COMMAND; i++ ) { SubclassGenericAdd( GetDlgItem( hwnd, i ), (WNDPROC)MakeWndProcInstance( StaticSubclassProc, InstanceHandle ) ); } }
static void initHwnds( HWND hwndDlg ) { char tmp[5]; hwndTypeface = GetDlgItem( hwndDlg, FT_TYPEFACE ); hwndStyle = GetDlgItem( hwndDlg, FT_STYLE ); hwndSize = GetDlgItem( hwndDlg, FT_SIZE ); hwndPick = GetDlgItem( hwndDlg, FT_FTPICK ); hwndSizeEdit = GetWindow( hwndSize, GW_CHILD ); GetClassName( hwndSizeEdit, tmp, 5 ); if( stricmp( tmp, "edit" ) != 0 ) { hwndSizeEdit = GetWindow( hwndSizeEdit, GW_HWNDNEXT ); } SubclassGenericAdd( hwndTypeface, (WNDPROC)MakeWndProcInstance( HotkeyProc, InstanceHandle ) ); SubclassGenericAdd( hwndStyle, (WNDPROC)MakeWndProcInstance( HotkeyProc, InstanceHandle ) ); SubclassGenericAdd( hwndSize, (WNDPROC)MakeWndProcInstance( HotkeyProc, InstanceHandle ) ); SubclassGenericAdd( hwndSizeEdit, (WNDPROC)MakeWndProcInstance( HotkeyProc, InstanceHandle ) ); }
/* * CreateContainerWindow */ window_id CreateContainerWindow( RECT *size ) { HWND container; CLIENTCREATESTRUCT client; client.hWindowMenu = (HMENU)NULLHANDLE; client.idFirstChild = 3000; // some arbitrary number that doesn't conflict container = CreateWindow( className, "Container", WS_CHILD | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | WS_VISIBLE, size->left, size->top, size->right - size->left, size->bottom - size->top, root_window_id, (HMENU)NULLHANDLE, InstanceHandle, (LPVOID)&client ); SET_WNDINFO( container, 0 ); oldContainerProc = (WNDPROC)GET_WNDPROC( container ); SET_WNDPROC( container, (LONG_PTR)MakeWndProcInstance( ContainerWindowProc, InstanceHandle ) ); SetScrollRange( container, SB_VERT, 1, 1, FALSE ); SetScrollRange( container, SB_HORZ, 1, 1, FALSE ); return( container ); } /* CreateContainerWindow */