日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【MFC】Windows样式

發(fā)布時間:2024/4/24 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MFC】Windows样式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. Windows常用樣式
    • 03. Windows樣式示例
    • 04. Windows位置
    • 05. Windows大小
    • 06. Windows尺寸
    • 07. Windows父窗口
    • 08. 附錄

01. 概述

Windows樣式是控制窗口外觀,邊框,最小化或最大化狀態(tài)或其他調(diào)整大小等功能的特征。

02. Windows常用樣式

常見樣式

WS_BORDER 創(chuàng)建一個帶邊框的窗口.WS_CAPTION 創(chuàng)建一個具有標題的窗口bar(暗示W(wǎng)S_BORDER樣式).不能與WS_DLGFRAME樣式一起使用.WS_CHILD 創(chuàng)建子窗口.不能與WS_POPUP樣式一起使用.WS_CHILDWINDOW 與WS_CHILD風格相同.WS_CLIPCHILDREN 在父窗口中繪制時,排除子窗口占用的區(qū)域.在創(chuàng)建父窗口時使用.WS_CLIPSIBLINGS 相對于彼此剪輯子窗口;也就是說,當特定子窗口接收到繪制消息時,WS_CLIPSIBLINGS樣式會剪切要更新的子窗口區(qū)域之外的所有其他重疊子窗口. (如果未給出WS_CLIPSIBLINGS且子窗口重疊,則在子窗口的客戶區(qū)域內(nèi)繪制時,可以在相鄰子窗口的客戶區(qū)域內(nèi)繪制.)僅用于WS_CHILD樣式.WS_DISABLED 創(chuàng)建一個最初禁用的窗口.WS_DLGFRAME 創(chuàng)建一個帶雙邊框的窗口但沒有標題.WS_GROUP 指定一組控件的第一個控件,用戶可以使用箭頭鍵從一個控件移動到另一個控件.在第一個控件之后使用WS_GROUP樣式定義的所有控件都屬于同一個組.具有WS_GROUP樣式的下一個控件將啟動下一個組(即,一個組在下一個組開始的地方結(jié)束).WS_HSCROLL 創(chuàng)建一個水平的窗口滾動條.WS_ICONIC 創(chuàng)建一個最初最小化的窗口.與WS_MINIMIZE樣式相同.WS_MAXIMIZE 創(chuàng)建一個最大尺寸的窗口.WS_MAXIMIZEBOX 創(chuàng)建一個具有最大化按鈕的窗口.WS_MINIMIZE 創(chuàng)建一個最初最小化的窗口.僅用于WS_OVERLAPPED樣式.WS_MINIMIZEBOX 創(chuàng)建一個具有最小化按鈕的窗口.WS_OVERLAPPED 創(chuàng)建重疊窗口.重疊窗口通常有標題和邊框.WS_OVERLAPPED窗口 使用WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX樣式創(chuàng)建重疊窗口.WS_POPUP 創(chuàng)建一個彈出窗口.不能與WS_CHILD樣式一起使用.WS_POPUPWINDOW 創(chuàng)建一個包含WS_BORDER,WS_POPUP和WS_SYSMENU樣式的彈出窗口. WS_CAPTION樣式必須與WS_POPUPWINDOW樣式組合才能使Control菜單可見.WS_SIZEBOX 創(chuàng)建一個具有大小調(diào)整邊框的窗口.與WS_THICKFRAME樣式相同.WS_SYSMENU 創(chuàng)建一個窗口,其標題欄中有一個控制菜單框.僅用于帶標題欄的窗口.WS_TABSTOP 指定用戶可以使用TAB鍵移動的任意數(shù)量的控件之一. TAB鍵將用戶移動到WS_TABSTOP樣式指定的下一個控件.WS_THICKFRAME 創(chuàng)建一個帶有粗框的窗口,可用于調(diào)整窗口大小.WS_TILED 創(chuàng)建重疊窗口.重疊窗口具有標題欄和邊框.與WS_OVERLAPPED樣式相同.WS_TILEDWINDOW 使用WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX樣式創(chuàng)建重疊窗口.與WS_OVERLAPPEDWINDOW樣式相同.WS_VISIBLE 創(chuàng)建一個最初可見的窗口.WS_VSCROLL 創(chuàng)建一個具有垂直滾動條的窗口.

溫馨提示

更多Windows樣式請參考MSDN相關(guān)文檔

03. Windows樣式示例

程序示例一:

#include "afxwin.h"class MyFrame:public CFrameWnd {public:MyFrame(){//WS_VISIBLE 創(chuàng)建一個最初可見的窗口//WS_OVERLAPPED 創(chuàng)建重疊窗口.重疊窗口通常有標題和邊框Create(NULL, TEXT("MFC TEST"), WS_VISIBLE | WS_OVERLAPPED);} };class Test:public CWinApp {BOOL InitInstance(){MyFrame *frame = new MyFrame();m_pMainWnd = frame;frame->ShowWindow(SW_NORMAL);frame->UpdateWindow();return TRUE;} };Test test;

執(zhí)行結(jié)果

04. Windows位置

查找顯示在監(jiān)視器,計算機使用類似于笛卡兒的坐標系,但原點位于屏幕的左上角.使用此坐標系,任何點都可以通過它與水平和垂直軸屏幕左上角的距離來定位.

Win32庫提供了一個名為POINT的結(jié)構(gòu),定義如下 :

typedef struct tagPOINT {LONG x;LONG y; } POINT;CPoint(); CPoint(int X, int Y);
  • 'x’成員變量是從屏幕左邊框開始的距離點.
  • 'y’變量表示從屏幕頂部邊框到該點的距離.
  • 除了Win32的POINT結(jié)構(gòu)外,Microsoft基礎(chǔ)類(MFC)庫還提供了CPoint類.
  • 這提供了相同的功能作為POINT結(jié)構(gòu).作為C ++類,它添加了定位點所需的更多功能.它提供了兩個構(gòu)造函數(shù).

05. Windows大小

當一個點用于在屏幕上定位一個對象時,每個窗口都有一個大小.大小提供了與對象相關(guān)的兩個度量.

  • 對象的寬度.
  • 對象的高度.

Win32庫使用SIZE結(jié)構(gòu)定義如下 :

typedef struct tagSIZE {int cx;int cy; } SIZE;

除了Win32的SIZE結(jié)構(gòu)外,MFC還提供了CSize類.此類具有與SIZE相同的功能,但添加了C ++類的功能.它提供了五個構(gòu)造函數(shù),允許您以您選擇的任何方式創(chuàng)建一個大小變量.

CSize(); CSize(int initCX, int initCY); CSize(SIZE initSize); CSize(POINT initPt); CSize(DWORD dwSize);

06. Windows尺寸

當窗口顯示時,可以通過其屏幕上顯示器邊框的位置來識別屏幕。窗口也可以通過其寬度和高度來識別。這些特性由**Create()**方法的rect參數(shù)指定或控制。此參數(shù)是可以通過Win32 RECT結(jié)構(gòu)創(chuàng)建的矩形。

typedef struct _RECT {LONG left;LONG top;LONG right;LONG bottom; } RECT, *PRECT;

除了Win32的RECT結(jié)構(gòu)之外,MFC還提供了具有以下構(gòu)造函數(shù)的CRect類:

CRect(); CRect(int l, int t, int r, int b); CRect(const RECT& srcRect); CRect(LPCRECT lpSrcRect); CRect(POINT point, SIZE size); CRect(POINT topLeft, POINT bottomRight);

程序示例

class MyFrame:public CFrameWnd {public:MyFrame(){Create(NULL, TEXT("MFC TEST"), WS_SYSMENU, CRect(90, 90, 480, 480));} };

將在前兩個參數(shù)中的CRect構(gòu)造函數(shù)中指定的屏幕左上角創(chuàng)建以下窗口。最后兩個參數(shù)是Window的大小。

07. Windows父窗口

在現(xiàn)實世界中,許多應(yīng)用程序都是由不同的Windows組成的.當應(yīng)用程序使用各種Windows時,大多數(shù)對象都依賴于特定的對象.它可能是您創(chuàng)建的第一個窗口或您指定的另一個窗口.這樣的窗口被稱為父窗口.所有其他窗口都直接或間接依賴它.

  • 如果您創(chuàng)建的窗口依賴于另一個窗口,則可以指定它有父級.
  • 這是通過CFrameWnd :: Create()方法的pParentWnd參數(shù)完成的.
  • 如果Window沒有父項,則傳遞帶有NULL值的參數(shù).

讓我們看一個只有一個Window的例子,并且沒有可用的父窗口,所以我們將傳遞帶有NULL值的參數(shù),如下面的代碼所示 :

程序示例

class MyFrame:public CFrameWnd {public:MyFrame(){//父窗口為NULLCreate(NULL, TEXT("MFC TEST"), WS_SYSMENU, CRect(90, 90, 480, 480), NULL);} };

08. 附錄

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的【MFC】Windows样式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。