Skip to main content
Email Password   helpLost your password?

Sample Image - ShapedForm.jpg

Introduction

This Demo show how to create shaped form and customized buttons using the Region, GraphicsPath and picture class. It also demonstrates using the picture control to display animated pictures.

All graphics are from Microsoft Media Player and have been resized to make the graphic files smaller.

The procedures:

  1. Create a form with some background color, then set the property TransparenceKey to that color and set the FormBorderStyle to None.

  2. Override the Form_Paint function

    You can do it by

    protected override void  OnPaint(PaintEventArgs e)

    or add a new Handler

    this.Paint += new System.Windows.Form.PaintEventHandler(Form_Paint)

  3. Using Region and GraphicsPath to set the Region that you want to display.
    im = new Bitmap("mediaPlayer.jpg"); 
    
    private void Form_Paint(object sender, PaintEventArgs e) 
    { 
       Graphics g = e.Graphics; 
    
       Rectangle mainRect = new Rectangle(0, 0, 695, 278); 
    
       Region mainRegion = new Region(mainRect); 
    
       e.Graphics.SetClip(mainRegion, CombineMode.Replace); 
    
       // Create a GraphicsPath object and add a curve. 
    
       GraphicsPath myPath = new GraphicsPath(); 
    
       ... 
    
       Region ExcludeRegion3 = new Region(myPath); 
    
       e.Graphics.ExcludeClip(ExcludeRegion3); 
    
       ... 
    
       e.Graphics.DrawImage(im, 0, 0, 495,278); 
    
       // Reset clipping region to infinite. 
    
       e.Graphics.ResetClip(); 
    } 
    

Note: Keep all the graphics in the bin/debug directory.

If you have any comments, I would love to hear about it. You can reach me at Jibin Pan.

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralHelp wanted!!!! Pin
nanu_babu
21:39 5 Jun '03  
GeneralUrrrm..Object not defined? Pin
Drutch
5:04 21 Apr '03  
GeneralRe: Urrrm..Object not defined? Pin
Anonymous
19:54 30 Jan '05  
GeneralPlatform specific Pin
Nikhil Dabas
2:20 20 Mar '02  
GeneralRe: Platform specific Pin
swinefeaster
21:46 14 Apr '02  
GeneralRe: Platform specific Pin
ori_yq
4:23 31 Dec '02  
GeneralRe: Platform specific Pin
Nikhil Dabas
11:07 2 Jan '03  
GeneralRe: Platform specific Pin
Heath Stewart
3:25 28 Jan '03  


Last Updated 19 Mar 2002 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009