[C++/Win32] Subwindow

Pagina: 1
Acties:

  • AuC
  • Registratie: Januari 2003
  • Laatst online: 08-05 08:21
Ik zoek voor mijn tilemap editor een manier om twee subschermen in een scherm te plaatsen, en dan zonder MDI. Op deze manier wil ik er namelijk voor zorgen dat in subscherm 1 mijn tilemap geplaatst kan worden en in subscherm 2 de tiles, beiden met scrollbars.

Op dit moment hebt ik een static gecreëerd met twee scrollbars. In dezestatic heb ik even een probeer object (editbox) gemaakt die stukken groter is, alleen de scrollbars willen niet meewerken. Zijn disabled en ik weet ook niet hoe ik ze verder kan koppelen.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
void CreateObjects( HWND hWnd )
{
    HWND hStatic, hEdit;

    hStatic = CreateWindowEx( NULL, "STATIC", "",
        WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL,
        0, 0, 800, 600, hWnd, (HMENU)IDC_LEFTWINDOW, GetModuleHandle( NULL ), NULL );

    hEdit = CreateWindowEx( NULL, "EDIT", "",
        WS_CHILD | WS_VISIBLE,
        0, 0, 1000, 1000, hStatic, NULL, GetModuleHandle( NULL ), NULL );
}


Ik heb het volgende geprobeerd bij de WM_SIZE command van het scherm:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void SizeObjects( HWND hWnd )
{
    RECT rcClient;
    GetClientRect( hWnd, &rcClient );

    HWND hStatic = GetDlgItem( hWnd, IDC_LEFTWINDOW );
    SetWindowPos( hStatic, NULL, 0, 0, rcClient.right, rcClient.bottom, SWP_NOZORDER );

    SCROLLINFO scrlInf;
    scrlInf.cbSize = sizeof( SCROLLINFO );
    scrlInf.fMask = SIF_RANGE;
    scrlInf.nMin = 0;
    scrlInf.nMax = 1000;

    SetScrollInfo( hStatic, SB_HORZ, &scrlInf, TRUE );
}


Maar dat werkt niet. Dus mijn vraag: Hoe kan ik een object maken met twee scrollbars die als het ware als subwindow dient?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

scrollbars doen het ook niet automatisch. Elke window kan een hscroll en een vscroll hebben, je moet alleen wel zelf de acties implementeren (de WM_HSCROLL en WM_VSCROLL messages)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.