[Release]Tabbed Menu!

Posts 16–20 of 20 · Page 2 of 2
Quote Originally Posted by IcySeal View Post


Your. Friend? Right.....
Anyways my base is moar better. Better constructor. Better drawing. And tabs that form fit the entered text OMG.
GetTextExtent for last one.
Quote Originally Posted by whit View Post
Nice Leech From One Of UC Bases
Proof. If any minion/ mod wants the link I will pm it too you but here is the original post. Note the similarity. He did not recieve help with this. He blatently copied it and doesn't want to admit it.
Quote Originally Posted by sgtmattbaker
I don't know what to say really but here is my tabbed menu source, defiantly not the best, but I guess some people can learn from it and others can point out my errors.

EDIT: Damn I forgot the credits: *********, Stevepwns inspired me to put in structs after I saw his button source

Its colored like the steam menu(as you should have noticed ) and yes I did spell initialize wrong on the functions, hopefully I didn't forget anything, O well I'm really tired and will fix them tomorrow if i did

Picture:



In your declarations
Code:
int MenuTab, MenuMax, MenuSelection;

struct Menu
{
    int MenuX;
    int MenuY;
    int MenuW;
    int MenuH;

};
Menu Menu1;

struct Tab
{
    int        TabX;
    int        TabY;
    int        TabH;
    int        TabW;
    int        TabNum;

};
Tab Tabs[5];

D3DCOLOR ColBlack     =    D3DCOLOR_XRGB( 0, 0, 0 );
D3DCOLOR ColGreen     =    D3DCOLOR_XRGB( 171, 171, 171 );
D3DCOLOR ColWhite     =    D3DCOLOR_XRGB( 255, 255, 255 );
D3DCOLOR ColMenuBack  = D3DCOLOR_XRGB( 90, 106, 81 );
D3DCOLOR ColMenuFront = D3DCOLOR_XRGB( 125, 125, 125 );
Needed functions
Code:
void DrawMyText(char pString[], int x, int y, D3DCOLOR col, ID3DXFont *font)
{
    RECT FontRect = { x, y, x+500, y+30 };
    font->DrawText( NULL, pString, -1, &FontRect, DT_LEFT | DT_WORDBREAK, col);
}//I don't remember who made this but they get credit for this function

void IntalizeMenu( int X, int Y, int W, int H)
{
    Menu1.MenuX = X;
    Menu1.MenuY = Y;
    Menu1.MenuW = W + Menu1.MenuX;
    Menu1.MenuH = H + Menu1.MenuY;
}

void IntalizeTab( int Num, int X, int Y, int W, int H )
{
    Tabs[Num].TabX = X + Menu1.MenuX;
    Tabs[Num].TabY = Y + Menu1.MenuY;
    Tabs[Num].TabW = W;
    Tabs[Num].TabH = H;

}


void DrawBox( IDirect3DDevice9 *pD3Ddev, int X, int Y, int W, int H, D3DCOLOR Color )
{
    D3DRECT Rect = { X, Y, X + W, Y + H };
    pD3Ddev->Clear( 1, &Rect, D3DCLEAR_TARGET, Color, 0,  0);

}


void DrawTab( IDirect3DDevice9 *pD3Ddev, int TabNum, D3DCOLOR Color )
{
    DrawBox( pD3Ddev, Tabs[TabNum].TabX, Tabs[TabNum].TabY, Tabs[TabNum].TabW, Tabs[TabNum].TabH, Color);
}


void DrawMenu( IDirect3DDevice9 *pD3Ddev, D3DCOLOR ColFront, D3DCOLOR ColBack )
{
    DrawBox(pD3Ddev, Menu1.MenuX - 5, Menu1.MenuY - 5, Menu1.MenuW + 10, Menu1.MenuH + 10, ColBack);
    DrawBox(pD3Ddev, Menu1.MenuX, Menu1.MenuY, Menu1.MenuW, Menu1.MenuH, ColFront);

}
In Initialize
Code:
    IntalizeMenu( 15, 150, 197, 10 );

    IntalizeTab( 1, 5,    5, 50, 25);
    IntalizeTab( 2, 56,    5, 50, 25);
    IntalizeTab( 3, 107, 5, 50, 25);
    IntalizeTab( 4, 158, 5, 50, 25);

    TextXoff = Menu1.MenuX + 2;
Creating the menu
Present/EndScene
Code:
 // I would put this into a function then call it from Present/EndScene
        DrawMenu( m_pD3Ddev, ColMenuFront, ColMenuBack );

        DrawTab(m_pD3Ddev, 1, ColMenuBack);
        DrawTab(m_pD3Ddev, 2, ColMenuBack);
        DrawTab(m_pD3Ddev, 3, ColMenuBack);
        DrawTab(m_pD3Ddev, 4, ColMenuBack);

        if( GetAsyncKeyState( VK_UP ) & 1 )
        {
            
                MenuSelection--;
                if(MenuSelection < 0)
                    MenuSelection = MenuMax;

        }
        if( GetAsyncKeyState( VK_DOWN ) & 1 )
        {
            
            MenuSelection++;
            if(MenuSelection > MenuMax)
                MenuSelection = 0;

        }


        switch( MenuTab )
        {

        case 0:
            MenuMax = 2;

            if( GetAsyncKeyState( VK_RIGHT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab++;
                    if(MenuTab > 3)
                        MenuTab = 0;
                break;

                case 1:
                    hack1 = true;
                break;

                case 2:
                    hack2 = true;
                break;

                default:
                break;
                }
            }

            if( GetAsyncKeyState( VK_LEFT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab--;
                    if(MenuTab < 0)
                        MenuTab = 3;
                break;

                case 1:
                    hack1 = false;
                break;

                case 2:
                    hack2 = false;
                break;

                default:
                break;
                }
            }

            if (hack1){
                DrawMyText( "hack 1 on", TextXoff, Menu1.MenuY + 50, ColGreen, Font3 );
                if(MenuSelection==1)
                    DrawMyText( "hack 1 on", TextXoff, Menu1.MenuY + 50, ColWhite, Font3 );

            }else{
                DrawMyText( "hack 1 off", TextXoff, Menu1.MenuY + 50, ColBlack, Font3 );
                if(MenuSelection==1)
                    DrawMyText( "hack 1 off", TextXoff, Menu1.MenuY + 50, ColWhite, Font3 );

            }

            if (hack2){
                DrawMyText( "hack 2 on", TextXoff, Menu1.MenuY + 65, ColGreen, Font3 );
                if(MenuSelection==2)
                    DrawMyText( "hack 2 on", TextXoff, Menu1.MenuY + 65, ColWhite, Font3 );

            }else{
                DrawMyText( "hack 2 off", TextXoff, Menu1.MenuY + 65, ColBlack, Font3 );
                if(MenuSelection==2)
                    DrawMyText( "hack 2 off", TextXoff, Menu1.MenuY + 65, ColWhite, Font3 );

            }

        break;

        case 1:

            MenuMax = 0;

            if( GetAsyncKeyState( VK_RIGHT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab++;
                    if(MenuTab > 3)
                        MenuTab = 0;
                break;

                default:
                break;
                }
            }

            if( GetAsyncKeyState( VK_LEFT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab--;
                    if(MenuTab < 0)
                        MenuTab = 3;
                break;

                default:
                break;
                }
            }

        break;

        case 2:

            MenuMax = 0;

            if( GetAsyncKeyState( VK_RIGHT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab++;
                    if(MenuTab > 3)
                        MenuTab = 0;
                break;

                default:
                break;
                }
            }

            if( GetAsyncKeyState( VK_LEFT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab--;
                    if(MenuTab < 0)
                        MenuTab = 3;
                break;

                default:
                break;
                }
            }

        break;

        case 3:

            MenuMax = 0;

            if( GetAsyncKeyState( VK_RIGHT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab++;
                    if(MenuTab > 3)
                        MenuTab = 0;
                break;

                default:
                break;
                }
            }

            if( GetAsyncKeyState( VK_LEFT ) & 1 )
            {
                switch( MenuSelection )
                {
                case 0:
                    MenuTab--;
                    if(MenuTab < 0)
                        MenuTab = 3;
                break;

                default:
                break;
                }
            }

        break;


        default:
        break;
        
    }

        if (MenuTab==0 && MenuSelection == 0){
            DrawMyText( "Tab", Menu1.MenuX + 6, Menu1.MenuY + 10, ColBlack, Font3 );
        }
        else if (MenuTab==0){
            DrawMyText( "Tab", Menu1.MenuX + 6, Menu1.MenuY + 10, ColGreen, Font3 );
        }else{
            DrawMyText( "Tab", Menu1.MenuX + 6, Menu1.MenuY + 10, ColWhite, Font3 );
        }

        if (MenuTab==1 && MenuSelection == 0){
            DrawMyText( "Tab2", Menu1.MenuX + 57, Menu1.MenuY + 10, ColBlack, Font3 );
        }
        else if (MenuTab==1){
            DrawMyText( "Tab2", Menu1.MenuX + 57, Menu1.MenuY + 10, ColGreen, Font3 );
        }else{
            DrawMyText( "Tab2", Menu1.MenuX + 57, Menu1.MenuY + 10, ColWhite, Font3 );
        }

        if (MenuTab==2 && MenuSelection == 0){
            DrawMyText( "Tab3", Menu1.MenuX + 108, Menu1.MenuY + 10, ColBlack, Font3 );
        }
        else if (MenuTab==2){
            DrawMyText( "Tab3", Menu1.MenuX + 108, Menu1.MenuY + 10, ColGreen, Font3 );
        }else{
            DrawMyText( "Tab3", Menu1.MenuX + 108, Menu1.MenuY + 10, ColWhite, Font3 );
        }

        if (MenuTab==3 && MenuSelection == 0){
            DrawMyText( "Tab4", Menu1.MenuX + 159, Menu1.MenuY + 10, ColBlack, Font3 );
        }
        else if (MenuTab==3){
            DrawMyText( "Tab4", Menu1.MenuX + 159, Menu1.MenuY + 10, ColGreen, Font3 );
        }else{
            DrawMyText( "Tab4", Menu1.MenuX + 159, Menu1.MenuY + 10, ColWhite, Font3 );
        }



    }
Quote Originally Posted by IcySeal View Post


Proof. If any minion/ mod wants the link I will pm it too you but here is the original post. Note the similarity. He did not recieve help with this. He blatently copied it and doesn't want to admit it.
:O, fuck you mastermods for never giving credits.
Lol Everyone wants him banned.
The OP leeched source code without giving proper credits, /Closed .
Posts 16–20 of 20 · Page 2 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us