橢圓形的窗口

//  新視窗類

with wc do begin

    style := CS_VREDRAW or CS_HREDRAW;
    lpfnWndProc := @GdiProc1;
    cbClsExtra := 0;
    cbWndExtra := 0;
    hCursor := LoadCursor(0, IDC_ARROW);//  ;
    hbrBackground := GetSysColorBrush( windows.COLOR_INFOBK );//HBRUSH(GetStockObject(windows.GRAY_BRUSH));
    hInstance := HInstance;
    lpszMenuName := nil;
    lpszClassName := szAppName;
    //hIcon := ficon1;
    end;
windows.RegisterClass(wc);


//  建窗口
Main := CreateWindowExA(WS_EX_OVERLAPPEDWINDOW, szAppName, szAppName, WS_VISIBLE or WS_SYSMENU  or WS_SizeBox or WS_GROUP,
                        Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), 800, 600, HWND_DESKTOP, 0, 0, nil);

//  獲取窗體尺寸

GetWindowRect(Main, re1);

main_DC := GetWindowDC(Main);

rg1 := CreateEllipticRgnIndirect( re1 );                                                 // 創建一個內切於特定矩形的橢圓區域
FillRect(main_DC, re1, 15 + 5 );
Rectangle(main_DC, re1.Left, re1.Top, re1.Right, re1.Bottom);

SetWindowRgn(Main, rg1, true);                                                          // 用SetWindowRgn實現程序窗口變形


注:全部源程序下載,請訪問下載頻道-我的資源。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章