Earn without any Investment!

Friday, January 21, 2011

VC++ Program using Menu control

#include <Windows.h>
#include "resource.h"
long _stdcall myfunc(HWND,UINT,UINT,long);

WNDCLASSA a;

HINSTANCE hi;
HDC d;
HPEN  hp;
void color();
int c;
int _stdcall WinMain(HINSTANCE i,HINSTANCE j,char *k,int l)
{
      HWND hwnd;
      MSG m;
      a.style=CS_HREDRAW|CS_VREDRAW;
      a.lpfnWndProc=myfunc;
      a.hInstance=i;
      a.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(500,400,60));
      a.lpszClassName="my";
      a.lpszMenuName=MAKEINTRESOURCEA(IDR_MENU1);
      RegisterClassA(&a);
      hwnd=CreateWindowA("my","Controls",WS_OVERLAPPEDWINDOW,100,100,20,20,0,0,i,0);
      ShowWindow(hwnd,3);
      while(GetMessage(&m,0,0,0))
            DispatchMessage(&m);
      return 0;
}

long _stdcall myfunc(HWND w,UINT x,UINT y,long z)
{
      const POINT pt[10]={250,150,250,300,300,350,400,300,320,190};
      int c=5;
      switch(x)
      {
            case WM_COMMAND:
            {
                  switch(y)
                  {
                        case RECTANGLE:
                              d=GetDC(w);
                              color();
                              Rectangle(d,120,100,50,70);
                              ReleaseDC(w,d);
                              break;
                        case LINE:
                              d=GetDC(w);
                              color();
                              LineTo(d,100,100);
                              break;
                        case ROUNDRECT:
                              d=GetDC(w);
                              color();
                              RoundRect(d,890,60,70,300,30,40);
                              break;
                        case ELLIPSE:
                              d=GetDC(w);
                              color();
                              Ellipse(d,1000,60,90,500);
                              break;
                        case CHORD:
                              d=GetDC(w);
                              color();
                              Chord(d,200,300,800,500,400,500,700,300);
                              break;
                        case POLYGON:
                              d=GetDC(w);
                              color();
                              Polygon(d,pt,c);
                              break;
                        case STAR:
                              d=GetDC(w);
                              color();
                              break;
                        case BLUE:
                              c=1;
                              color();
                              break;
                        case RED:
                              c=2;
                              color();
                              break;
                        case GREEN:
                              c=3;
                              color();
                              break;
             }
            }
             break;
       case WM_DESTROY:
             PostQuitMessage(0);
             break;
       default:
             return DefWindowProc(w,x,y,z);
             break;
  
   }
       return 0L;
}
void color()
{
      switch(c)
      {
       case 1:
             hp=CreatePen(PS_SOLID,3,RGB(0,0,250));
             SelectObject(d,hp);
             break;
     case 2:
             hp=CreatePen(PS_SOLID,3,RGB(250,0,0));
             SelectObject(d,hp);
             break;
       case 3:
             hp=CreatePen(PS_SOLID,3,RGB(0,250,0));
             SelectObject(d,hp);
             break;
       default:
             hp=CreatePen(PS_SOLID,3,RGB(0,0,250));
             break;
      }
}

No comments:

Post a Comment