青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 67  文章 - 171  trackbacks - 0
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

連接資料

最新隨筆

搜索

  •  

最新隨筆

最新評論

在Form上添加一個OpenPictureDialog,添加一個Image,并為其添加一個圖片。再加一個PopupMenu,并創建兩個菜單項,一個是Open1,一個是Exit1,其中前者是打開圖象文件對話框,后者為退出程序。設置Image1的PopupMenu屬性為PopupMenu1。

在Form1的OnCreate事件中添加:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  BmpToRgn();
}

在.h文件中的private段中添加
        void __fastcall TForm1::BmpToRgn();

這個函數用來創建不規則窗體。
//---------------------------------------------------------------------------
void __fastcall TForm1::BmpToRgn()
{
  Image1->AutoSize=true;
  Form1->AutoSize=true;
  Form1->BorderStyle=bsNone;  //將Form的標題欄去掉
  TColor ColorKey=Image1->Canvas->Pixels[0][0];  //以這個點的顏色為透明基準色
  int x,y;
  int l,r;
  POINT *a;
  bool lb,rb;
  HRGN wndrgn,temprgn;

  if((a=(POINT *)malloc(Width*2*(sizeof(POINT))))==NULL)
  {
    ShowMessage("申請內存失敗!");
    exit(0);
  }

  l=0;r=Image1->Height*2-1;
  wndrgn=CreateRectRgn(0,0,Image1->Width,Image1->Height);

  for(y=0;y<Image1->Height;y++)
  {
    lb=true;
    for(x=0;x<Image1->Width+1;x++)
      if(Image1->Canvas->Pixels[x][y]!=ColorKey)
      {
        a[l].x=x;
        a[l].y=y;
        lb=false;
        break;
      }
    if(lb) a[l]=a[l-1];
    l++;
    rb=true;

    for(x=Image1->Width;x>=0;x--)
      if(Image1->Canvas->Pixels[x][y]!=ColorKey)
      {
        a[r].x=x;
        a[r].y=y;
        rb=false;
        break;
      }
    if(rb) a[r]=a[r+1];
    r--;
  }

  r=Image1->Height*2-1;
  for(y=0;y<Image1->Height-1;y++)
  {
    for(x=a[y].x;x<=a[r].x;x++)
      if(Image1->Canvas->Pixels[x][y]==ColorKey)
      {
        temprgn=CreateRectRgn(x,y,x+1,y+1);
        CombineRgn(wndrgn,wndrgn,temprgn,RGN_XOR);
        DeleteObject(temprgn);
      }
    r--;
  }
  //temprgn=CreatePolygonRgn(a,Image1->Height*2,ALTERNATE);
  temprgn=CreatePolygonRgn(a,Image1->Height*2,WINDING);
  CombineRgn(wndrgn,wndrgn,temprgn,RGN_AND);
  DeleteObject(temprgn);
  delete a;
  SetWindowRgn(Handle,wndrgn,true);
}

為了使沒有標題欄的窗體能移動,需要在Image1的OnMouseDown事件中添加以下代碼:
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  if(Button == mbLeft)
  {
    ReleaseCapture();
    Perform(WM_NCLBUTTONDOWN,HTCAPTION, 0);
  }
}

//---------------------------------------------------------------------------
//通過右鍵菜單中的Exit1退出程序
void __fastcall TForm1::Exit1Click(TObject *Sender)
{
  Close();        
}

//---------------------------------------------------------------------------
//打開圖片文件,并以這個圖片創建不規則窗體
void __fastcall TForm1::Open1Click(TObject *Sender)
{
  if(OpenPictureDialog1->Execute())
  {
    Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
    BmpToRgn();
  }
}
注意圖片的背景色要相同。
posted on 2008-08-18 18:19 cpsprogramer 閱讀(1829) 評論(2)  編輯 收藏 引用 所屬分類: VC++

FeedBack:
# re: 創建位圖型不規則窗體(可透明,可移動) 2008-08-24 16:08 dell電腦
記得早期創建不規則窗體,真是頭大。  回復  更多評論
  
# re: 創建位圖型不規則窗體(可透明,可移動)[未登錄] 2009-07-30 23:39 vfdff
代碼哪里編譯的 ??  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              一区二区三区四区蜜桃| 亚洲视频国产视频| 亚洲淫片在线视频| 老司机久久99久久精品播放免费 | 亚洲高清久久| 久久综合伊人77777蜜臀| 国产欧美日韩视频一区二区| 国产精品成人国产乱一区| 一区二区三区在线视频播放| 久久噜噜亚洲综合| 久久不射网站| 亚洲国产天堂久久国产91| 99视频在线精品国自产拍免费观看| 亚欧美中日韩视频| 亚洲第一级黄色片| 国产夜色精品一区二区av| 国产一区二区三区黄| 亚洲天堂偷拍| 亚洲高清三级视频| 久久亚洲综合网| 在线观看成人av| 嫩草国产精品入口| 老色批av在线精品| 亚洲精品中文在线| 亚洲三级视频在线观看| 欧美国产日本| 在线综合亚洲欧美在线视频| 9色精品在线| 国产精品亚洲第一区在线暖暖韩国| 亚洲一区二区三区四区在线观看| 日韩午夜中文字幕| 国产精品区一区二区三区| 香蕉久久夜色精品| 午夜免费久久久久| 国产一区视频网站| 欧美成人精品在线播放| 欧美国产成人精品| 欧美精品videossex性护士| 亚洲丁香婷深爱综合| 麻豆精品传媒视频| 欧美3dxxxxhd| 99视频一区二区| 亚洲午夜久久久久久久久电影院| 国产伦精品一区二区三区高清 | 亚洲专区一区二区三区| 午夜国产精品影院在线观看| 国产一区二区日韩| 在线成人h网| 最新国产乱人伦偷精品免费网站| 久久中文字幕导航| 99国产精品| 久久精品国产第一区二区三区| 欧美 日韩 国产在线| 欧美精品激情blacked18| 亚洲一区二区三区影院| 欧美在线亚洲在线| 亚洲视频国产视频| 久久精品91| 亚洲一区成人| 免费国产自线拍一欧美视频| 亚洲男人的天堂在线观看| 欧美一级视频免费在线观看| 久久久人成影片一区二区三区| 亚洲人成人一区二区三区| 在线一区二区三区四区五区| 极品av少妇一区二区| 亚洲精品在线看| 在线电影国产精品| 99re66热这里只有精品3直播| 国产偷久久久精品专区| 亚洲伦伦在线| **性色生活片久久毛片| 99国产欧美久久久精品| 国产综合香蕉五月婷在线| 亚洲国产婷婷| 国产亚洲二区| 亚洲乱码国产乱码精品精98午夜| 国产亚洲制服色| 在线亚洲电影| 亚洲人午夜精品免费| 欧美一区久久| 在线亚洲高清视频| 久久久久一区二区三区| 久久aⅴ乱码一区二区三区| 欧美巨乳波霸| 久久免费视频网| 国产精品扒开腿做爽爽爽视频| 亚洲大胆人体在线| 在线观看一区视频| 久久精品国产综合| 久久久久免费视频| 国产精品一区二区在线观看网站| 亚洲日本免费| 一本到高清视频免费精品| 麻豆久久精品| 欧美激情一区二区三级高清视频| 精品9999| 久久精品九九| 久久成人精品一区二区三区| 国产伦精品一区二区三区四区免费 | 国产精品青草久久| 99精品热视频| 亚洲无毛电影| 国产精品你懂得| 亚洲在线一区二区三区| 亚洲欧美日韩直播| 国产日韩在线看片| 久久九九精品99国产精品| 久久嫩草精品久久久久| 激情av一区| 裸体一区二区| 欧美国产精品va在线观看| 亚洲日本在线视频观看| 久久亚洲一区二区三区四区| 国产在线视频欧美| 亚洲第一精品福利| 怡红院av一区二区三区| 午夜视频一区在线观看| 久久美女性网| 亚洲高清久久| 欧美日韩成人网| 亚洲理伦在线| 久久国产日韩欧美| 激情综合亚洲| 欧美风情在线| 中文无字幕一区二区三区| 久久se精品一区二区| 国产综合色一区二区三区 | 国产视频一区在线| 午夜精品久久久久影视| 久久精品99无色码中文字幕| 怡红院精品视频| 欧美日韩一区精品| 久久激情久久| 99视频精品全部免费在线| 久久伊人精品天天| 日韩午夜av电影| 国产日韩精品一区二区| 久久影音先锋| 在线亚洲激情| 91久久久久| 欧美一区二区在线播放| 亚洲成色精品| 国产精品视频一| 欧美精品久久久久久久免费观看 | 夜夜爽av福利精品导航| 欧美影院成人| 亚洲国产欧美一区| 国产区亚洲区欧美区| 欧美高清一区二区| 久久成人免费| 日韩网站在线观看| 老司机午夜精品| 亚洲视频高清| 亚洲日韩视频| 精品动漫一区二区| 国产精品久久久久久久久久ktv | 欧美福利视频在线| 欧美一区中文字幕| 一区二区三区高清不卡| 亚洲大胆女人| 免费成人黄色| 久久久水蜜桃| 性欧美大战久久久久久久久| 妖精成人www高清在线观看| 在线日韩av片| 红桃视频亚洲| 国产一区二区电影在线观看| 国产精品高潮呻吟久久av黑人| 欧美精品久久久久久久| 欧美激情在线狂野欧美精品| 另类图片国产| 老牛嫩草一区二区三区日本| 久久久www成人免费毛片麻豆| 亚洲欧美日韩一区二区三区在线观看 | 亚洲免费观看视频| 亚洲国产精品va在线看黑人| 美女网站在线免费欧美精品| 久久久久久高潮国产精品视| 欧美综合二区| 久久亚洲私人国产精品va| 久久精品视频一| 久久精品免费电影| 久久久久久久波多野高潮日日| 久久成人人人人精品欧| 久久激五月天综合精品| 久久精品国产精品亚洲综合| 久久国内精品自在自线400部| 久久精品动漫| 蜜桃久久精品乱码一区二区| 免费视频亚洲| 亚洲激情六月丁香| 99伊人成综合| 亚洲欧美精品中文字幕在线| 午夜视频精品| 欧美成人高清| 欧美性大战xxxxx久久久| 国产精品乱码妇女bbbb| 国产亚洲永久域名| 亚洲激情中文1区|