예제 #1
0
/*
 * EditSubClass - sub-class an edit control in a dialog
 */
void EditSubClass( HWND hwnd, int id, history_data *h )
{
    HWND    edit;

    hData = h;
    currHist = h->curr;
    edit = GetDlgItem( hwnd, id );
    oldEditProc = (WNDPROC)GET_WNDPROC( edit );
    editProc = MakeProcInstance( (FARPROC)EditSubClassProc, InstanceHandle );
    SET_WNDPROC( edit, (LONG_PTR)editProc );
    SendMessage( edit, EM_LIMITTEXT, MAX_INPUT_LINE, 0L );

} /* EditSubClass */
예제 #2
0
/*
 * 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 */