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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠

發布時間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請教一下MFC中的控件是怎么實現的呢(通過調用什么樣的API,傳遞什么參數)?一個按鈕就是一個窗口?還是所有按鈕畫在一個分層窗口上再疊在主窗口上?還是直接在主窗口上畫圖?

我想到的是:

JavaScript code?

1

2

3

4

5

6

7

8

9

10

11

12

13

HWND?hwndButtonWindow?=?::CreateWindowEx(

????????WS_EX_TRANSPARENT,??????? //拓展樣式-穿透,使其上的點擊等消息發送至其后的主窗口

????????wndclass.lpszClassName,??? //使用的窗口類名稱

????????L"button",??????????????? //窗口標題

????????WS_POPUP?|?WS_CHILD,??????? //樣式-彈出窗口(無標題欄)

????????400,??????????????????????? //x,該位置在主窗口上

????????430,??????????????????????? //y

????????50,??????????????????????? //w,按鈕的寬

????????30,??????????????????????? //h,按鈕的高

????????hwnd,??????????????????? //父窗口句柄

????????NULL,??????????????????? //菜單

????????hInstance,??????????????? //程序實例句柄

????????NULL);??????????????????? //用戶數據


然后設置它隨主窗口(hwnd)一起移動

?

引用?5?樓?smwhotjay?的回復:

控件就是控件,了解下win32?sdk編程?就知道了


好的,我看了一下Win32編程,上面說botton控件就是一個子窗口,在User32.dll加載時就已經注冊好這個窗口類了,所以只要用“button”這個類名創建窗口就行了,當該窗口被點擊時會向父窗口發送WM_COMMAND消息,其中LOWORD(wParam)指定了該子窗口(控件)的ID,lParam指定了該子窗口的句柄,而其上顯示的文字其實是它的“標題”
應該就是這樣:

C/C++ code?

1

2

3

4

5

6

7

8

9

10

11

12

13

::CreateWindowEx(

????0,???????????????????????????????????????????????????//拓展樣式:無

????"button",?????????????????????????????????????????????????????//窗口類:button

????"Start",????????????????????????????????????????????????????//按鈕顯示文字:Start

????WS_CHILD?|?WS_VISIBLE?|?BS_PUSHBUTTON,?????//WS是窗口樣式,BS是按鈕樣式

????50,????????????????????????????????????????????????????//窗口(按鈕)的位置和尺寸

????50,

????80,

????30,

????hwnd,???????????????????????????????????????????????????//父窗口句柄

????(HMENU)IDC_BUTTON,???????????????????????????????????????????????????//系統菜單

????hInstance,????????????????????????????????????????????????????//程序實例句柄

????NULL);


感謝這位前輩提供線索

?

一般?控件?都是?窗口?(hWnd),?無窗口的?叫?wndless,?是?直接繪制到?屏幕上的?。(DirectDraw)


言簡意賅

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。